From the first days the .NET framework came out there was a minimum OS support:
This minimum OS support made possible to ignore platform-specific issues by using just the framework. Newer features were ignored on older platforms. For example, "Tile View" style in the ListView control or form transparency on the Windows 98/ME.
However, in the System.Core.dll (part of .NET 3.5) there are some classes that use a new Vista API and throw PlatformNotSupportedException if used on an XP machine. For example, take a look on the new EventLogReader class (in the System.Diagnostics.Eventing.Reader namespace).
Does Microsoft break with the tradition of platform support?
To be fair .NET 2.0 had already classes that supported NTFS security features, which are not available on the Windows 98/ME.
Microsoft is obviously pushing towards a Vista-centric development environment. It's not just because of the obvious 'we need to make money' reason, but also because Vista is where the cool new APIs are sprouting.
To be fair, it's been always been like that with the Windows API, and it will probably be like that with .NET. There's not such a "tradition" as you describe, but rather a tradition of making APIs that might not work notify you that you are in an operating system that doesn't support it. They always try to be backwards compatible, not forwards limiting, if you understand :)