Obfuscated code working under .NET 4.0 may break when .NET 4.5 is installed.

In my particular case, I built a DLL under .NET 4.0 and obfuscated it with .NET Reactor.  The DLL failed on any machine where .NET 4.5 was installed, Windows XP or 7 or 8, even though the entry assembly that loads it targets .NET 4.0.  The MDA error was "PInvokeStackImbalance was detected".

The fix was to run .NET Reactor on the unobfuscated assembly and change obfuscation settings until it worked.

(This may not be very related to your issue, but perhaps it will help someone who reads through this post looking for answers.)