Okay, I've been all over this problem and it makes no sense. I define and store a handful of session variables when my application first starts up. With each call to another page, the same specified procedure is called to retrieve these variables in order to maintain 'state' throughout.
However, after a couple of drill downs into the process the application errors out stating that a variable is not defined or found. Yet when you look in the error log the session variable is there with the needed value that was assigned at the start of the process.
No, there is nothing clearing, releasing, or closing sessions, variables, etc... What is happening, what can be done to eliminate this problem.
On a similar note, and it could be related to what I mentioned above, when the application is first fired up and you go to ANY link, the application errors out that, again, variables not found. Hitting the 'BACK' button and then refreshing the page eliminates this and the user can then go on, until he gets the errors mentioned above...
As part of troubleshooting this problem I have the variables displayed at the bottom of each screen as the pages come up. This shows me that the variables are not being cleared by some 'hidden' command...