I always use either
if_($value == "") { . . .
or
if ($value != "") { . . .
. . . since ISSET and (!$varibale) seem unreliable in some situations. So far, this method has worked well -- if there is no $value set, it passes the == "" test just fine.
Hmm -- haven't played with empty() -- that looks interesting . . .