While you might call Session.Abandon at the top of the page, any existing session variables will not actually be destroyed until the page goes out of scope. So if you have a page like this:
<% Session("a") = 1 Session.Abandon Response.Write(Session("a")) %> |
You will see "1" output to the screen, even though the variable was accessed after you called Session.Abandon. When the user navigates to another page, however, Session("a") will be gone.