When the user logs into the website are you migrating the profile properties to the authenticated profile?
http://msdn2.microsoft.com/en-us/library/system.web.profile.profilemodule.migrateanonymous.aspx
You may also be able to move where you assign the properties to the profile with the CreateUserControl to make sure it is done after the user has been authenticated by the control. There is a UserCreated event where it would be best to add your code above.
Brennan Stehling
http://www.smallsharptools.com/
http://www.linkmindr.com/