I'm not surprised to read what you said about him being worse than your son. They become kids again, testing the authority figure (which is you) just to see how far they can go. When you call them on it, they cry victim and you aren't being fair.
It's not fair to your son to have hopes of spending the night w/his father and then the father calling stating he's got a belly ache. The child is then disappointed and sooner, rather than later, the child is going to stop looking forward to being w/the parent because he/she knows the time period may change at the last minute.
I know you are doing everything you can to be there for your son and to smooth the waters for a good relationship between your son and his father, however, the father's got to do some work in this area himself.
I think you've been very good about the entire situation and I would certainly call him on this type of behavior each and every time he changes up at the last minute or wants things his way.
Sit quietly, the answers will reveal themselves when you least expect them to. The past is gone, the present is a gift and you need to focus on today, allow the future to reveal itself when it is ready.