I wasn't referring to Windows 8 - I agree that a complete change of development model from desktop to Metro won't be attractive to developers there. If you stick to desktop mode Win8 then the same code will run.
On Visual Basic, I meant that the new desktop / OS version doesn't force a new development model at least from WinXP to Win7. Most apps run without problems.
I'm with Linus on backward compatibility (in his case re the kernel API) - breaking backwards compatibility is really bad, and generally Microsoft has done quite well with the Windows API. You can run really very old apps, dating back to early XP days, on Windows 7 with a good chance they will just work.
With GNOME3, I can't even run my old applets, whereas a Windows tray application (though probably harder to develop) will just work.