well, Y2K wouldn't normally have stopped software from working. It just might have made it run odd because it would have the wrong date. Agree that was something that never should have been a problem, programming friends of mine and myself were talking about that problem back in the early '80. That was buisness who didn't want to spend more money to change software when it would have been cheaper, then rushing at the deadline.
Activation software 'product of Satan' shouldn't be around in the first place.
As for if it is the operating system making itself incompatable and it being MS's fault. It shouldn't fall on them to be forced to be compatible to the stone age (and two years is almost that now adays). With all the different companies making software that work with, around, and sometimes against each other you can't expect years down the road to force changes.
You will start to force when software is put out instead of it saying you need Win7 or newer to run this software it will say, you need Win7 build 24 rev 18 only. those poor little labels are going to get filled up with specific information for what is needed to run it, instead of the general system.
I believe companies should be responsible for what they put out. It should work as they say. You should get what you pay for. But heck, enforce the rules that are out there. We don't need more constraints. Make the software companies follow the same rules for warrenty as other companies (get rid of EULA's make a good contract)