Right...and if the email redirects it would prevent the update from working because it would redirect before the update code could run. That is why it would stop working when added and start working once the email was removed.
Yes I believe that would work with the session variable.