You and me are worlds apart, despite our superficial similarities. I'm not sure I would call this advice, but let me share a little bit from my sitch:
My S was looking forward to going to church with his Mommy and Daddy this morning, even though no one had told him that it was going to happen. W backed out last night for whatever reason. This morning, S was in a horrible mood (he's an exceptionally even-keeled, good natured kid, so his worst is better than some kid's best), and I beleive it was mostly due to disappointment over the church thing. He never mentioned it or asked about it, but he was not being himself. Yes, this was hard for me: I had plenty on my mind, did not get enough sleep last night, etc...
I cannot describe to you the pride I feel in myself right now. I used every bit of what I have learned (CP, verbal judo, self-confidence and calm, you name it) and managed to pull him out of it before lunch. I can't offer you a magic bullet, but I can tell you that your S can and will respond to your efforts if you go about it the right way. Some of the things that worked for me:
-Happy, upbeat, no matter what S said or did -S says "I don't like you", I say "Well, who can blame you?" -Tickle when appropriate -Remember what it was like to be a kid, and what made you the happiest then -Forget about your problems and your W's problems, just focus on solutions for your S
None of this helps you, I know, but I can feel how much you care about your kid. I just want you to know that it can be done. Once you believe that, I know you will figure out what will work in your sitch (Because you are capable, yes, but mostly because you love your S).