The preference setting and storing system we have is very inconsistent, bug-ridden and delicate.
Anytime something requires an uninstall and reinstall, which is needed all too often, you have to set your preferences again.
I've been here almost three years now. From the time I first learned how to stop the mini-map from rotating till now and till I die I don't want to have the mini-map rotate. I don't enjoy telling Second Life over and over and over that I don't want the mini-map to rotate. I'd like this stored permanently in the same way that my account name, key, linden balance, and other information considered important by Linden Lab is stored.
The system for setting the preferences that aren't built in to the preferences dialog - the Client Debug Settings - is bug riddled and inconsistent in it's behavior. One example of a bug is the HtmlHelpHomePage behavior, which should have an url in it; when you change it's value the properly formatted url that you entered gets changed to true, when then gets interpreted as www.true.com. An example of inconsistency in behavior is the difference in the way that adjusting the FocusOffsetDefault and CameraOffsetDefault works, one changes in real-time, the other doesn't work properly, but in addition doesn't take effect witout closing and restarting SL.
Lately a bug was inroduced such that an ampersand in one's Busy message caused SL to reject the entire setting.xml file and use default settings for everything, such as, for example, whether to rotate the mini-map. The preference storage and reading system needs to be written in such a way that a flaw in one setting causes only that setting to revert to default, not the whole set of preferences.
I've never seen a mainstream, broadly distributed program written by professionals deal so badly with something as simple and important as setting and storing one's customized preferences.