Consider adding in a GetUserRoamingSetting call for all of the cases where you need to pass in the username as well.

It would simply call through to GetRoamingSetting but append username to the start of the key.