Eine nicht vorhandene Var ist per Definition empty.
Man vergleiche folgende 4 codeschnippsel:
<? ?>
<? $var=0; ?>
<? $var=''; ?>
<? $var=false; ?>
Es gilt in allen 4 Fällen empty($var)===true! Ist das sinnvoll?
conclusio: nur isset($var) liefert korrekte Ergebnisse, wenn die Existenz einer Variablen überprüft werden soll. Und warum soll um Gottes Willen code, der das tut, dumm sein?