Given the fact that most of Windows 2000/Me apps and even Windows NT/95 apps ran fine on XP, and also given that you could if you want to still run 32-bit Windows 10, some, not all, of the apps on XP still run on Windows 10.
For instance, I made some homemade apps to help me with my finances in Windows 95, including some browser automation and API calls to gather investing information into a data file. I had to re-do them somewhat in Windows XP (using .Net Framework stuff). But they still run fine on Windows 10 even though I haven't changed them much since around 2003 (just added new features like what metrics it analyzes for buy and sell triggers).
I like Linux for back-end stuff in my work. If more of my users liked Linux I'd be fine with that, especially now that Microsoft's .Net Framework runs on Linux and lets me develop using Microsoft's Net Studio (hands down the best IDE out there). Java is okay, particularly if you want to enhance an Oracle back-end. But for desktop client apps or web client apps where a bunch of the logic has to be above the database layer, I'll take Visual Studio development over anything else any day.
You are technically correct; it was more perception than reality. Microsoft has never forced me to do anything. But I did have to go to unusual lengths to prevent an “upgrade” in some cases. Time makes it seem less intrusive. Here is a partial trip down memory lane...