Para controlar eventos al incicio y fin de sesion de un usuario debes emplear el archivo GLOBAL.ASAX;
por ejemplo, para modificar el valor del campo de la base de datos cuando el usuario esta activo, dentro de este fichero pondriamos:
<script language="VB" runat="server">
Sub Session_Start(src as Object, e as EventArgs)
' Aqui pondriamos los eventos correspondientes al inicio
' de sesion
End Sub
Sub Session_End(src as Object, e as EventArgs)
' Aqui pondriamos los eventos correspondientes al final
' de sesion
End Sub
</script>
Cuando se ejecuta el evento Session.Abandon() de la sesión de un usuario, pasaría a ejecutarse el codigo dentro de session_end
Lo que ahora mismo no se me ocurre es como pasarle el nombre de usuario, para que realice la actualización en el campo correspondiente al usuario... investigaremossssssss