In 1.16, when the preferences form is submitted, there doesn't seem to be any way to modify the user object before it is saved to the database. When the preference form is submitted it calls Preferences->tryFormSubmit which in turn calls User->saveSettings. There are two hooks that fire after the user object has been saved (UserSaveSettings and UserSaveOptions) but that doesn't help.
You used to be able to use the SavePreferences hook but it's gone in 1.16.
Version: 1.16.x
Severity: enhancement
URL: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/Preferences.php?view=markup