機械語や機械語に近い言語に変換をするソフトは、どのタイミングで機械語以外の言語を変換をするのかによって呼び分けられていて、一気に翻訳して翻訳結果を出力するソフトを「コンパイラ(compiler)」、実行中に逐次解釈するソフトを「インタプリタ(interpreter)」と呼びます。(なお、大変不正確な説明をしているので正確さが必要であれば論文や英語の資料をあたることをおすすめします)
で、プチコン3号以降のプチコンはこの「コンパイラ」的機能と「インタプリタ」の組み合わせになってます。(実際、最近はインタプリタ型実行環境でもこのような実装が増えてきています)
<以下推測が含まれます>
プチコン3号では、与えられたコードを一旦実行しやすい中間の言語に変換する(「コンパイラ」的機能の実行、つまり「コンパイル」する)際に、ある程度の計算処理を済ませてしまうと思われます。未定義定数は実行前にエラーが出ることから、その先に済ませる処理に定数が含まれているようです。(逆にユーザ定義命令の名前チェックは済ませてしまう処理ではないようなので、実行時(「インタプリタ」的機能による実行時)にはじめてエラーになります。変数はOPTION STRICTの使用の有無で変わります)