Lo que podrías hacer es refrescar la página cuando termine la sesión y así, cuando se vuelva a cargar y la sesión haya caducado te volverá a enviar a la página de login (o la que sea). En el Page_Load de cada página deberías poner:
Código:
Response.AddHeader("Refresh", Convert.ToString(Session.Timeout * 60) + 5);
Quizá te sirva. Saludos