Реализация assert в Visual C++ - провеяем наличие NDEBUG
assert.h в реализации Microsoft устроен таким образом, что проверка assert выключается только при определенном NDEBUG.
Так что при потере в конфигурации определения NDEBUG несмотря на исключение отладочной информации из скомпилированного кода, оптимизации и пр.
Все проверки будут по прежнему компилироваться.
Для рабочей версии это выражается в замедлении работы и возможной остановке.