Sorry. You're right. I mis-read the code.
But the new code hasn't changed the behaviour. I still can't pick up the DSerial variable on the users_Profile page to use on a Protected page unless the User was previously logged in and didn't need to go through the users_Login.
On the Go To Protected page I have set the "Pass existing parameters" to Form Parameters.
Thank you for your patience.