This sounds oh so familiar! We have to force DS7 to parties, unless there is laser tag or similar. And since he was a baby, he has hated "The Birthday Song" and refused to participate. When he was younger, this was probably a noise sensitivity issue, and now I think he does put up with it better at school, but how fun it was to watch the boy cover his ears and run away at cake time.... At his own birthdays, we have agreed to no song.
I have allowed the DS on the way to things, since we live far away from many places, but always request it before we get out of the car. At first he was unwilling and argumentative, but now he complies.