The main motivation for this was a lot of frustration because command-line, bitcoin.conf, and wallet.dat settings were interacting in ill-defined ways.
Now GUI settings are stored in QT settings files; see http://developer.qt.nokia.com/doc/qt-4.8/qsettings.html#platform-specific-notes
... for details on where. Testnet and main network have their own separate files (thanks @laanwj).
The first time you run with this patch settings from your wallet.dat will be read and moved over to the new settings file (and the settings erased from wallet.dat). From then on, settings in the wallet.dat are ignored-- so if you're using --datadir and multiple wallets, don't expect the setting to be read/erased from the other wallets.
The 'proxy' setting is behaving badly (e.g. 127.0.0.1 is turned into an IP6-looking address), but I'm 90% sure that is a pre-existing bug based on other reports of weird strings in the proxy setting with the 0.6 release. I'll file an issue about that.