Ray,
What happens if instead you use:
if pPassword=PAS:PASSWORD
ReturnValue = true
self.SetSessionLevel(PAS:PASS_LEVEL)
self.SetSessionValue('CustomerBrowseLevel','5')
self.SetSessionValue('CustomerEditLevel','7')
I think you were complicating it your way.
You were first doing a SetValue, which sets a parameter value that only lives for the duration of the incoming request.
And then you turn around and do a StoreValue that moves the parameter into Session data.
Instead of simply setting the Session Value directly.
Jane