Non usare session_register, utilizza solo $_SESSION.
Non usare solo empty, utilizza isset().
Non utilizzare $_REQUEST, utilizza l'array superglobale specifico (es. $_GET, $_POST).
Prima di accedere ai dati forniti dall'utente in un array superglobale verifica con array_key_exists o isset se l'indice esiste.
Per effettuare il redirect utilizza header location (ed eventualmente l'output buffering).
Non utilizzare " or die(mysql_error());", esponi il sito a possibili attacchi (vengono indicizzati anche gli errori delle query).

Per richiedere il login dopo X minuti di inattività inserisci in sessione un campo contenente la data dell'ultima richiesta (e' inutile utilizzare il DB se stai gia' utilizzando le sessioni). Se alla successiva richiesta sono passati piu' di X minuti dal valore salvato in sessione, distruggi la sessione e fai il redirect verso la pagina di login.