ってかchecked != trueをコンパイルエラーにするなら、右辺がtrueであるかを評価してからコンパイルエラーにすべきだろうし
(checked != (true || false))

#define PRODUCTIONMODE true
if((status.foo && param.bar)!=PRODUCTIONMODE)

みたいな式が書けなくなるし、あんまいい事無いだろ。
列挙の網羅性を文句言われるのとはちょっと違うレベルで不便では?