本物の知障ですか?

「運良くNULLが0と定義されている環境」でコンパイルが通ったけど
「標準規格に準拠した別の環境」でコンパイルが通らない、
こんなソースは標準に従ったソースとは言えない。
つまり、0の代わりにNULLを使用しているソースは標準に従っていない。

「NULLがどうdefineされているか」は処理系依存だが
「ヌルポインタ以外の用途にNULLを使って良いか」は、決して、処理系依存ではない。