va bene se non viene assegnato un valore di default nel form che setti la variabile, anche vuota.

Potrebbe essere piu' appropriato empty(). Prova a stampare l'array $_POST ad inizio pagina e cosi' puoi valutare tutti i tuoi casi.
codice:
<?php
echo "<pre>";
print_r($_POST);
poi valuti tu se e' meglio isset() oppure empty().