Well I'm sorry but I can't agree that a user would or should have to do this in the first place.
Microsoft as an example has upgraded and switched versions and servers and just about everything else you can think of and I've not had to "reset/request" my password from them in the past 5 years.
I think an upgrade should retain ALL your information and allow a user to logon as though nothing has ever changed.
I'm not saying it's an easy task to code, but many applications do it.
.