Personalmente utilizzo Session senza nessun dubbio!

Con QueryString mostri ad un utente scafato come accedere alle pagine con il login di qualcun'altro.

Con i Cookies invece non sei mai sicuro che i tuoi utenti ce li abbiano abilitati (...i cookies intendo ), e poi sarebbe veramente sgradevole mettere in Home Page un avviso del tipo:
Per navigare in questo sito devi avere i cookies abilitati, sennò nisba...
.

Session :master: Ma quale problema dovrebbe dare una variabilina piccola piccola come lo Username in Session?

Poi fai tu...