I do think it was rude of the parents to RSVP, then not show. Its expensive planning parties especially outings and I would've been miffed if that had been me.
However, I wouldn't have sent an invoice.
Chances are, I would've spoken to the other parents, first of all to see if the child not coming was sick, there was an emergency etc (because hey, those things happen!) and if it turned out that there was an emergency, I probably would've left it alone tbh.
If it was like in this situation where they decided to send the boy elsewhere, I still don't know that I would've asked for money tbh. I probably would've chalked that up to a learning lesson, and then in future invitations for birthdays where I've paid for a certain amount of kids to be there, that if you don't show after confirming yes then chances are I'll need reimbursement.
But even that leaves a sour taste in my mouth if I'm honest. Birthday parties (especially for children!) are supposed to be fun. Also, if I'm blunt and honest I absolutely never do anything for my kiddo's birthday that requires a payment for each child. We hired a "Mad Scientist" for Claire's birthday this year, the range was "under 15 kids". So if one kid showed or 15 showed, I still paid the same rate. Just saves the stress and aggravation for me.