Just put a breakpoint on the final '}' in the main routine and you can step through the C run-time library's exit steps.
> msvcr90.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 519 C msvcr90.dll!exit(int code=0) Line 412 + 0xc bytes C ValleyOfNeustria.exe!__tmainCRTStartup() Line 549 C kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes