If you are unable to install .NET 3.5 on your production server, then you will need to use 3.0. However, you need to understand how these versions work.
Versions 3.0 and 3.5 are merely layers on top of the 2.0 Framework. They are serve to replace those libraries that have been added or updated since version 2.0. In fact, when configuring IIS, you would configure it for 2.0 for 2.0, 3.0, and 3.5.
Now, the other special feature is that VS 2008 (including VWD 2008 Express) has the capability of using any of these versions. With your application opened, go to the Solution Explorer, right click on the solution/file path and select Property Pages at the bottom of the menu. In the Property Pages dialog, select the Build page. On this page, you will see the Target Framework option. You can configure this to use .NET Framework 2.0, 3.0, or 3.5. If your production system is not accepting version 3.5, then set your application to 3.0 and then update your application on the server.
As for "I don't think any of my code truly relies on .NET 3.5--it should all be compatible with the 3.0 framework", well, that's not exactly correct. Any new features introduced by version 3.0 but were not updated in version 3.5 will not be available. Again, versions 3.0 and 3.5 only contain those libraries that have been added or updated; the bulk of the Framework is still in version 2.0. So, since 3.0 and 3.5 are layers, to ensure that 3.5 works completely, you need to have the 3.0 layer in place.
"The oxen are slow, but the earth is patient."