It sucks a hell of a lot less than Linux's backwards compatibility. Hell, Linux has better compatibility with Windows software than it does its own older software!
You are given a binary for a GUI application, compiled in 2001. You drop the binary on your system and run it. If it is a Windows application, it has a much better chance of working fine on both Windows and Linux than it does on Linux alone if it is a Linux application!
In other words: it's at least as big a pain in the ass as getting the old binary working.
GNU/Linux: "We're changing the size of a struct, go recompile from source"
Windows: "After long deliberation, we have decided that 16-bit application support will be an optional feature that users have to install manually"