Я использую 2 разных assert: Грубо говоря:
ASSERT_DBG - работает только в дебажной прошивке. Я ставлю его в изобилии по всей программе на каждый чих. В релизную прошивку он не попадает.
ASSERT - ну это просто assert :-). Его в программе встречается немного, в критических местах. Он работает как в дебажной, так и в релизной прошивках.