What's the commandline you're using for .net 4.0? I would recommend adding /norestart to this.
But, be aware, there is a case where this might be required, if something is locking mscoree.dll. If after the .net 4 setup finishes, and mscoree.dll under System32 is not updated to 4.x, then a reboot is required.
The way to fix this issue is to identify using Process Explorer what process is locking this file prior to running the .net 4 install. By ensuring this is shut down, you can best ensure that a reboot won't be needed even when the prompt is suppressed.