I'll throw in a couple of thoughts.
One is the "NXCompatFlag issue".
As far as I am aware, it applies only to 7.0 FP1 onwards (and I'm a little unsure about where SP3 fits in.)
But I think VS 2008 may also be relevant.
The NXCompatFlag issue causes errors on screen load, but seems to be extremely variable - on some machines it gives the error, and on others it doesn't.
It does seem that the presence of customizations makes it more likely that the error will occur.
If that is the problem, there seems to be two ways of fixing it, which are actualy two different flavours of the same fix.
One applies the fix as a "post compile" step.
The other patches the .exe after the compile is done.
That's the way I am doing it.
Create a temp folder to work in.
Copy the .exe into that folder.
Create a .bat file in the same folder, containing this code
call "c:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
editbin.exe /NXCOMPAT:NO .\*.exe
(You may need to alter those Paths - depending on your Vis Studio install.)
Then run the batch file.
If there are no error displays, and the date/time of the .exe changes, then the patch has been performed.
------------
The other possible cause of your problem that comes to mind is "dot net trust".
I'll post a thought on that separately.
Barry