it's so easy to break a compiler with an OS upgrade
That's funny, I used Borland and other 3rd party compilers for almost my entire career, and never encountered any such breakage. Heck I have code from 20 years ago that somehow runs perfectly fine in W10. The only things I've had to fix from that era, were things I wasn't supposed to be doing in the first place, like self-modifying code and other low-level hacks that don't fly in a post-80486 world. MS jumps through hoops to retain backward compatibility because the entire value of their platform is in the massive wealth of software written for it.
punitive pricing agreements that dropped the margins below any possibility of profit if you tried selling a naked system
What ?! I've sold "naked" systems since the 90's and somehow managed to turn a profit. MS doesn't make it unprofitable. All they did was give ridiculously cheap licenses to the big guys, while the rest of us indies have to pay the regular "OEM" pricing which is frankly not much cheaper than full retail.
There are plenty of reasons to dislike Microsoft. The ones you've mentioned have very little basis in reality. The only people who can break Steam are Valve with their potato-quality code. Microsoft and its partners do not want to piss off the hordes of PC gamers, because the day we abandon Windows will be the day Linux finally gets decent graphics drivers for Steam Boxes, and that day will mark the beginning of the end for Windows' market dominance.