A company I used to work for in 2012 had a Windows 3.11 workstation running some ancient software to support an auxiliary system. Many banks run COBOL on mainframes and haven't changed anything since the 70s.
I'm really confused as to the argument here. If you never update your software and don't expect to browse the Internet, old software works exactly like it did in the past. How do you expect it would change?
This is not acceptable behavior - I can understand automatic upgrades that are fully backwards compatible, e.g. a security patch; but upgrade to windows 10 isn't like that.
Because foo pro-audio, or bar cnc-board didn't want to update their drivers, or for that matter, more often than not, had a weird installer that simply didn't follow proper practices, doesn't work in the new version of Windows isn't MS' fault.
Also, users will not understand this, and will, rightly, blame Microsoft.
If a machine is running, say, windows xp, and it does in a manner that satisfies the owner's need, then it should be able to keep running forever in the same manner, provided that hardware lasts and/or is replaced with adequate spares, not necessarily anything newer.
It's ok if that computer becomes incompatible with newer software because of that.
It's ok if that computer becomes incompatible with newer outside/network services because of that.
It's not ok if that computer stops being able to execute exactly the same process that it could do 10 years ago.