Cache is a pain in the ass huh ;] Your browser is always going to cache copies of your pages that is why when you login, then logout, then directly go to the URL of your protected page you are able to access it because the user is viewing the cached version in their browser.
What you need to do is tell your browser not to cache pages, at least the protected ones, by adding these directives to the top of your page:
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
"Much to learn you have, young padawan."
Read this if you want to know how to get a correct reply for your question:
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
Technical Editor for: Professional Search Engine Optimization with ASP.NET
Why can't Programmers, program??