I lost a confirmed Y->C upgrade on ORD-PEK about 7 years ago. The explanation (as the GA was tearing up my C boarding pass!!!!) was that the ORD-PVG flight two gates over had just cancelled due to a mechanical, and they were bumping paid-C pax over to our flight, and kicking out people who had upgraded.
While this seemed "sort of" fair (as those folks had paid for C and I hadn't) I didn't fight it too assertively at the time... but I made absolutely sure that I got my pound of flesh from the cust. service folks after the fact.
I think the compensation was something like $800 in travel certs and two additional SWUs plus the one they returned to me. They also rebooked me into D (as opposed to NC) for the return just to make 100% sure it wouldn't happen on the the way back.