ざっと見てみたところ、「ならば」の方に指定する値でも同じようにエラーとなるようです。
(以下、何も無いことを、nilと表現しています)
特定の型として参照する構文においては、ケアがされているようです。
・「もし」等の真偽値(Bool値)として評価する構文では、nilは、偽として扱う。
・「ループ回数」等の整数値(int)として評価する構文では、nilは、0として扱う。
・「言う」等の文字列として評価する構文では、nilは、「」(長さ0の文字列)として扱う。
ところが、任意の型を受け付ける「条件分岐」とその「ならば」ではnilに対するケアがおこなれていないようです。
修正が行なわれる場合に備えて、どう動作するのが望ましい(ユーザが思っている動作に近い)かの情報が有ると良さそうです。以下、私は考えです。
「条件分岐」がnilの場合
整数値の0として扱う。結果として、偽や0や「」(長さ0の文字列)とも一致する。
「ならば」がnilの場合
整数値の0として扱う。結果として、偽や0や「」とも一致する。
(システム的には、「いずれとも一致しない」(「違えば」があれば、それを実行する)のが実装は楽そう)
開発者向け情報。修正は、hima_parser.pasのTSyntaxSwitch.getValue(7356辺り)の
vKekka := hi_var_calc_Eq(vJouken, vCase);
の手前辺りでケアすると良さそう。