慣れの問題なのでしょうが、やっぱりこういう仕様を見るたびにゲンナリします。
以下はPHPマニュアルのisset()の説明の抜粋です。
説明
bool isset ( mixed $var [, mixed $var [, $... ]] )
変数がセットされているかどうかを調べます。
変数が、unset() により割当を解除された場合、
何も値が設定されていない状態になります。
NULLに設定されている変数を調べた場合、
isset() はFALSEを返します。
シンボルがあるかどうかだけを知るには、array_key_exists()とGLOBALS配列を使うのがよさそうです。