I get a similar error, but I use an Intel Mobile graphics card...
What's interessting, when I don't define the /SUBSYSTEM Windows parameter for the linker, I don't get an error (but a console window).
As soon as I add the subsystem I get the error and the debugger puts me into the file dbgheap.c...
But when I debug everything after the 'return' statement of the main() function, I end up in the functin crtExitProcess (crt0dat.c) which then calls ExitProcess(status). Just after that call, the programm crashes and the debuger jumps again to the dbgheap.c, but then the error either had to be occured before the crash, or I don't understand how it can occure when this function wasn't even called at the time of the crash...
Strange thing. I hope Laurent will fix it soon, until then I just won't use the subsystem thing. :-P