The behavior that you've shown through your example is normal. The users_preferences table is being updated by the "guess_email_pref_tr" trigger in spam.sql.
This also seems to be the source of your registration problem. The insert into the users_preferences table conflicts with the trigger. This is a bug and it should be logged in the sdm. For now you'll have to modify your config file, so that "users_preferences" is not a required user table.