El include no tiene nada que ver en el asunto. El tema es que la sessión se destruye al finalizar la ejecución del script donde se invoca a session.abandon()
En lugar de abandon podés usar Session.Contents.Remove("id"), que realmente remueve en el acto el valor de dicha session.
Hacé esta prueba:
Código:
<%
Session("id") = "hola"
Response.Write "el valor de Session(""id"") antes del abandon es: " & Session("id") & "<br>"
session.abandon
Response.Write "el valor de Session(""id"") después del abandon es: " & Session("id")
%>
Y luego ésta:
Código:
<%
Session("id") = "hola"
Response.Write "el valor de Session(""id"") antes del abandon es: " & Session("id") & "<br>"
Session.Contents.Remove("id")
Response.Write "el valor de Session(""id"") después del abandon es: " & Session("id")
%>
Saludos