Yo tambien me he encontrado con este problema muchas veces y todavia no he encontrado una respuesta satisfactoria en ningun lugar, ni siquiera en microsoft (la que mas se acerca es
esta página pero lo que dice no es nada halagüeño :S )
Lo cierto es que usar sesiones para autentificar usuarios no es una buena idea a largo plazo: las sesiones usan recursos del servidor y si ese servidor es compartido pues imaginate lo poco estable del sistema.
Yo te recomiendo que uses cookies directamente o algun sistema intermedio entre cookies y BD (guardar el identificativo de la session -sessionID- en una tabla y chequearlo cada acceso).
Un saludo