Don't forget that .Net 4.0 will be a little different from previous versions of the framework. .Net 4.0 will be installed side by side (SxS) .Net 3.5 and back. If you upgrade your app to use .Net 4.0 then your long term users (aka previous versions) will end up having to install a whole new version of the framework.
If your considering how much disk space you are going to use up on the client machines with your app and the framework, then don't forget this "hidden" use of extra space. If you upgrade your app now from 2.0 to 3.5 then your app might be able to exist longer with complete functionality without forcing the user to install a 2nd framework that uses up another 20+ MB of space.