1) se usi soltanto variabili di sessione e post non ti interesserà sapere se $_GET è popolato o meno, puoi fare benissimo a meno di svuotarlo.

2) basterebbe un addslashes(), anche perché le sql injections sono date da stringhe

3) Io in questi casi faccio scadere le sessioni dopo un certo periodo di inattività. Con HTTP che non possiede informazioni stato è l'unica procedura da seguire.