Joel also has some rather far-fetched ideas about where applications should be and are going.  IMHO, web-based apps suck and almost always require something to be installed client side (case in point, JRE invades!) which totally negates the purpose of a web-based app in the first place.  People also aren't soley coding for Windows just because the API set is easy, they also want to make money as well and thats where the market share is.

Personally I've seen a lot of areas today that still bode well for the Raymond Chen Camp.  Take SMS 2003 - Windows 98 is still supported as well as the legacy client.  This is an enterprise application but Microsoft recognized the need for this OS is still prevelant on people's networks so they archetected backwards compatibility in the product (archetected - not hacked together something to make it work).  AD is another great example where not only can you still authenticate with an older OS but Microsoft provides tools like the AD Client Extensions for backwards compatibility but to take advantage of anything new requires an OS upgrade.  However on the other hand there are areas that backwards compatibility isn't 100% such as Visio 2003.  But I don't think this is because people inside Microsoft are trying not to make things backwards compatibile as its more the case of them evaluating customer requests on the features they like and use the most and then improving on those rather than wasting resources on those that are not.