The big drawback to .NET is people won't try your program if they have to install yet another framework. It tends to make you use what you figure most people already have on like .NET 2.x features.
That might have been a consideration at one point... but that point is pretty far gone. You can plan on .NET 4 at least currently (and that's what I code to).
+1
I'd go further though. I'd actively discourage people from using 2.0.
.NET 2.0 was just .NET 2.0, but later on MS split .NET into the .NET client profile and .NET full profile.
The problem there is that if you used some methods in .NET 2.0, they might not be in the client profile, and may require the full profile, making them no longer forward compatible for practical purposes for users who don't know the difference.
.NET 4.0 won't run on XP, but, sigh... something has to be sacrificed somewhere...







