There is no such thing as a ".NET 3.5 assembly". The only version imprinted on an assembly is the runtime version it requires. Which is v2.0.50727 for any assembly built by a compiler included with .NET versions 2.0 through 3.5 SP1. With the further twist that this really specifies the format of the metadata in the assembly. Only CLR version 2 or greater can read the manifest in the assembly. This format changed in 4.0, the core reason you need CLR version 4 to execute an assembly that targets 4.
The only distinction between framework versions 2.0 through 3.5 SP1 is in the set of assemblies that are included. You can only add an assembly reference to, say, the WPF PresentationFramework assembly when you target 3.0 or greater. You can only add System.Core when you target 3.5.
Avoiding these new assemblies in a SQL project is not difficult. You'll get a swift exception if you get it wrong.