Originally Posted by
PUCCI GALORE
I really do think that they are d*mned when they do and d*mned when they don't)

So true. Yes, BA has an unfortunately suboptimal record with respect to aircraft maintenance and cleanliness, but this case is really one where neither the apologists nor the whiners are right. BA simply did what airlines do in these circumstances. End of story.
Having said that, nobody seems to have commented on the one "mistake" that BA actually did make: Faced with the circumstances presented, they should have offered the reaccommodation to all arriving F passengers to see who wanted it, preferably in status order. My prediction is they would have had no problem finding 2 takers for the CX flight, the OP's friends would have traveled as planned, and everyone would have been happy.