Я думаю, что происходит, когда я компилирую, я компилирую с помощью API-интерфейсов Windows Unicode, поэтому, если я запускаю свой исполняемый файл в неширокоугольных окнах, он не запускается. Таким образом, проверка во время выполнения бесполезна.
Я добавил утверждение во время компиляции, чтобы вызвать ошибку сборки, если мы компилируем на платформе не-широкоформатной (до XP, или до 2000, или где бы то ни было), сборка завершится неудачно. Если бы утверждения не было, оно бы все равно провалилось, но более загадочно.