It is a very good point to be made, and an article by Joel On Software from back in 2004 made it well (http://www.joelonsoftware.com/articles/APIWar.html) - Microsoft keeps a lot of it's market share by remaining backwards compatible.
One of the reasons vista was a disaster was due to the amount of old software that it broke. However, most of this software was third party, closed source with no upgrade route.
On linux, most (all?) of the software that users use comes packaged with the distro of their choice, and so has a some guarantee that at some point it will be upgraded to run on the new version.
Indeed, my bigger lament is that you can forget about gnome or kde breaking compatibility because it doesn't matter; fundamental changes to a linux system come into play and break compatibility much earlier. New versions of gcc and glibc cause much more immediate headaches if you are trying to support a linux application over multiple distributions.