I installed .NET 4.0 and it doesn't work. It's the same error. It works however with this patch.
If native mscoree is being used (you might want to double check) it suggests that either ntdll is calling _CorValidateImage too late, or this is the correct approach. I don't know how to test this.