I always use the most up-to-date version of the Framework. This may be a small up-front burden on users, but the app has a much longer life between upgrades. That may or may not be important to you, but consider:
If you had shipped an application in 2005 using .NET 1.1, the framework your app runs on is now out of mainstream support, and may have unpatched security vulnerabilities, or other serious problems which Microsoft may not deal with, and which you cannot compensate for in your own code. Your only alternative in 2008 is to get your users to upgrade their framework version now. And, as we all know, getting users to update things in a timely fashion can be problematic.
Likewise, consider your situation in 2011. If you program for .NET 3.5 now, your app, as-shipped, will be viable longer. If you ship for .NET 2.0 now, you'll be in the position, in a few years' time, of having to convince your users to upgrade their framework (code which has no perceived benefit to them, remember) so that you can properly support this application.
Also, if you plan to implement 3.5-class features (LINQ to SQL next year, for example), it's in your interest to ship for 3.5 now, rather than 2.0, as it will make deployment later less of a problem for you.