The Windows debug build has some runtime tests (in the debug version of the MSVC "C" runtime library) that other builds don't have. In the current code, assertion failures from the "C" runtime library are logged and a stack trace is printed.
Some of these assertions call abort(), terminating the process, after we return from displaying the error and stack trace. Other assertions continue running, possibly allowing other errors to occur. Worse, tests may complete without any indication that something has gone wrong, other than the log messages, which may not be noticed.
Instead of returning after handling the assertion, we should just fassert so that the original problem will be addressed.