La funzione verifica viene utilizzata male.
Ora come ora, $nome,$pass saranno valorizzate in questo modo: 'miovalore'.
Questa cosa ha delle conseguenze: empty darà sempre false (anche se il campo email lo lascio vuoto $mail conterrà questo: ''), inoltre la query insert verrebbe storpiata a causa di qualche ' di troppo

Utilizza mysql_real_escape_string solo nelle query.