The way you are using the recordset values to base the show region should be fine but if it is not working then there is either a problem with the value or the way you have it implemented.
It may be worth trying to use session variables to store this value, on your profile page when you update it you can also update the session variable that holds this value, then base the show region on this session variable. You can use the standard set session value server behavior to set the session variable.
Since you got all of the session values to be seen the code for that is working correctly, you can leave it on the page while you are testing to ensure values are what you expect them to be. Please try updating this to use the session variables after updating the profile page to include the set session code. Run some tests and get back to us with your result, if you do not get the expected result and the session values look ok post back and let me know, I will open a ticket where we can post files privately to each other.