Not sure if this is an issue, make sure if there is any cost to be incurred such as cancelling reservations, changing flights, etc. the company is aware that you expect to be reimbursed. I typically just ask where should I expense those costs and let it go from there. Of course they answer I can't, to which I simply/dumbly ask what I'm supposed to do since I've already incurred the obligation based on being told I could be on vacation and now the vacation is revoked. I further state that if I have to stay for "business reasons" then this is a valid business expense. The company may not be under any obligation, but it has worked for me once they realize there are penalties associated.
Be forwarned, though, that I'm willing to push, and push hard, because my skills are rare and the last thing they want is for me to leave. I don't attack them, I simply treat it as a business issue and a reasonable expectation. It's all in how you approach it.
An "unique" (i.e. perhaps underhanded) approach would be to go to his bosses boss and state "I don't want to create any problems since we all should take vacation and I don't mind having to cut my vacation short so someone else on the team can go even after being cleared, but I have some sunk costs that I'd like the company to reimburse me for in exchange for my obvious flexibilty. It wouldn't be fair for me to cut my plans short and then have to pay for it, right? I didn't want to bring this up to xxxxx because I didn't want it to appear like I'm pressuring him into changing his plans. I want to be a team player."
If nothing else, perhaps you can write it off on your taxes.