Many thanks for your replies - I do appreciate them.
To answer some of the questions: SiL is DH's sister. The reason I would dis-invite Friend as opposed to both of them is that SiL is DS's godmother. She was at his birth, and has been helping plan his party up until very recently. I'm not sure if they're officially a couple or not yet, as we were only told this week and don't know how long it had been going on for prior to this.
It is a relatively small party - about 20-25 people, mostly family and some friends with kids around DS's age.
I guess one of the reasons I have been tempted to cancel is not whether or not the three of them can be civil (while he is invited, I don't really expect BiL to come because of this - the poor guy was blindsided and may not be up to seeing his in-laws congregating.
), but what, if anything, DH's FOO will do/say. Maybe I'm worrying over nothing, as I know some of them didn't care for BiL in the first place, but who knows if that will outweigh the reaction to what happened? On the other hand, cancelling would be unfair to DS (I know, he won't really remember) and my side of the family, especially my grandmother.
Perhaps I will take the high road... and take people aside beforehand to ask them to play nicely.