Sounds like she is in competition with you and needs to try to "one-up" you. I would try the opposite approach from confrontation, since she is passive-aggressive. I would completely ignore what she did! Just have your party, don't call her up about it, nothing!! That's what she wants! Have another date with the grandparents that is on or near your son's birthday. Tell him how fun it is that he is having 2 birthday observances - one for his party with friends, another with Grandma/Grandpa. Ignore the cousin's birthday - send a card for her actual date, and the heck with the rest of it. Don't penalize the niece, but obviously your sister in law has structured this so you cannot attend her party. DO NOT call your SIL to ask why she didn't RSVP to you, etc. Whoever comes to your party, comes. You will be teaching your children good manners and taking the high road. It's not good to teach them competition over who was first, who is more popular, etc. This is your SIL's weakness, and we it's way healthier for us to be sympathetic or dismissive of other people's shortcomings than to obsess and become more like them.
The urge to tell her what you really think it natural, but the best way to get to her is to not let her see that it bothers you! Don't give her the power over you - hold on to it by controlling your own reaction. You can't do anything about her competitiveness except to ignore it or pity it. If she brings it up, you can have some response planned like, "I'm sure you had your reasons for contradicting yourself and planning a party for Susie so that she couldn't come to Jack's party -that's too bad because we had a blast!!
Finally, I would make sure that your son's birthday is NOT lost in the holiday shuffle no matter what. Scale back the holiday prep if you have to, make it more enjoyable for yourselves anyway. Always make your son a priority since it's obvious you're going to have to do it without help from the rest of the family like your sister-in-law!!
You don't have to go to every fight you're invited to, says a wise friend of mine. So don't engage this SIL when she's obviously itching for a confrontation! Ignore ignore ignore! Be matter-of-fact, say that she knew when your party was and specifically called about it, but she must have had a very good reason for scheduling her party at the same time.