I have been spending quite a while writing an advanced test framework for my system, as was looking for a simple way of catching system exceptions, which were the main problems with the code being tested. The solution (plus digging through MSDN) was found here on Thunderguy's site. The only problem that I've found with it is that each version of Visual C++ needs a different set of compiler switches to allow it.
I've also being doing some Win64 coding, which is fun up to the point that the compiler that comes with the platform SDK doesn't allow inline assembler. Fortunately there's a NASM compatible assembler called YASM here that can handle 64bit assembler that can be linked to Microsoft code. Get the latest snapshot from the downloads page, as the official release (0.4.0) doesn't support 64bit in microsoft format.