It really looks like it would work to me. I'm not sure what I'm missing.
If you add this to the very top of the update page:
See if the session variable is set properly. If not, at least we know the issue is on the page before.
Then maybe put the same code at the very bottom of the previous page and see if it is getting set there properly. I'm not sure what is going on, but the logic and code on those pages seems sound to me.