Beh, potresti aggiungere l'errore nella query con "or die()":
Codice PHP:
mysql_query("INSERT INTO login (id, username, password, email, nome, cognome, agree, data_reg) VALUES ('','$username','$password','$email','$nome','$cognome','$agree','$data_reg')")or die("Errore nell'inserimento dei dati nel database!"); 
Se poi hai l'id auto-increment (supposizione ovvia) non ti serve aggiungere id nella query di inserimento.
Magari fare un controllo sui valori immessi.
Se un'email non è nel formato giusto, allora avvisa l'utente (quello però ti consiglio di farlo in javascript e nella pagina dove c'è il form).
Poi devono essere tutti campi obbligatori?
Se un utente non mette nulla? Se ti va bene allora è giusto così se no avvisali (anche lì però con javascript nella pagina del form).
Per il resto non mi sembra serva qualcos'altro.
Magari qualcuno ha qualche idea in più.