After quite a bit of discussion with Aron, we concluded that the way that the Juggler build defines _DEBUG explicitily (and in turn relies on that symbol inconsistently) causes problems with so-called "hybrid" builds with Visual C++ on Windows. (These are builds that are made against the release runtime but have debugging symbols enabled. On other platforms and with other compliers, these would be called "normal debug builds.")
Instead of defining _DEBUG explicitly, we will leave that up to the compiler (Visual C++ defines it when using the /MDd option) and define symbols such as VPR_DEBUG, GADGET_DEBUG, etc. on the command line. These symbols are already defined if _DEBUG is detected as being defined, but we are going to change things around so that we do not rely on _DEBUG at all when deciding whether to include debug-only code. The result will be that the Juggler build can get along with hybrid builds on Windows better and not rely on Windows-ish build conventions on non-Windows platforms.