This is largely a symptom of Windows itself, not a symptom of needing to upgrade something. It'd be much simpler to push updates to all users if you use a self-configured apt repository than it is to push updates to Windows clients. Not so nightmarey at all to upgrade systems with good package managers, actually.
When I was a sysadmin, I could push my updates via Group Policy. It's not that bad. (I'm now in development so I don't know the Microsoft current recommended method).
The cost of an upgrade is the daunting part IMO. We need to buy a bazillion CALs (licenses) if we want to switch to Windows 2008 server-side, for example.