Hmm, this is curious.
I // out the two static email addresses and tested it and it worked - I got both my copy as the sender, and to the guest's email I provided.
So I added the static addresses back, but after
$RecipArray[$CurIndex ] = "".$row_rs_session['txtemail'] ."";
$RecipArray[$CurIndex ] = "".((isset($_POST["GuestEmail"]))?$_POST["GuestEmail"]:"") ."";
and I got the one for me (as the sender) but not the one to the guest's email address. I've asked the static recipients to let me know if they got them, but they aren't by a computer so I don't know.
I do know the two static email addresses are valid as I've tested other forms that go to them and they've gotten them. Plus I don't think the form would fail just because of an invalid email address.
Just for grins, I tested a plain old Contact form and it came through to my static email address fine.
I've attached the support files in case you can spot any reason for this.