I don't think clearing the cache is what you want. What I think you want is for certain pages to be served only if you have the appropriate cookie.
You can easily do this by placing the pages you want protected under a directory, and then specify that directory to have an authorisation scheme that only allows authenticated users to log in (you would do this in web.config) this would definately not allow you to view a page even if you hit the "back" button once you signed out.
To destroy the auth cookie I use FormsAuthentication.SignOut()
the code you have put in page_load is unnecessary. Try to use FormsAuthentication.SetAuthCookie method. This way your app will use web.config to determine whether the page should be served to the user, not your code in page_load.
I recommend you read about forms authentication in .NET cause your doing it the classic ASP way. here's a good read: http://www.15seconds.com/issue/020220.htm