You could try keeping session data in a database, and deleting it regularly if not updated (eg every 10 minutes). Otherwise, someone close their browser without logging out, leaving session data in the database - this means they won't be able to log back in again till the database is cleared.
This would be easy to do with timestamps in each field... Then each time there is activity on the page (or cronjob, whatever) just delete all records > 10 minutes old. Whenever someone moves to a new page within the authenticated site, update their database fields to a new timestamp, keeping them from being deleted.
I know what I mean, just am not writing it very clearly g Just post for a longer description (sorry, need more sleep/caffeinee/both grins)
Ross
ross@activestudios.net
www.activestudios.net