Yes, you made a mistake because you didn't check and you're expecting him to put up with that because it's all about the money and people being upset. With you.
It's a statement of fact, not a criticism.
Right.
He can't miss the prom.
It's a rite of passage and missing it will set him apart from his peers. He'll always remember that.
Whereas the wedding anniversary has lots of people going. One less person really won't matter that much.
Cancel his ticket, and accept the loss if you can't get a refund or take someone else.
He's old enough to stay home alone at 16. Or maybe ask his friends' parents if he could stay with them?
Yes, the couple will be sorry he wasn't there. But you will have to manage that and their expectations yourself.
Task him with taking and sharing loads of photos as a condition of staying and going to his event.
He and his peer group had a chunk of their school experience, social development etc taken away from him. Let him have this.