With some experimentation, I was able to get some use of .net 4.0 with 9.3.1.
I changed arcmap.exe.config to the following:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>
which allows debugging in vs2010. I upgraded a project from 2008 to 2010 and everything works targeting 4.0 Framework (make sure it isn't targeting 4.0 Framework Client Profile). However, I haven't managed to get the ESRI assemblies to show up in the references dialog box or the items in the project templates...it's getting there though.