The the core database definitions for the user table, the lang field is given a default of 'en'. The problem with that is that this is no longer a valid language selection, so if the user edits their profile (and doesn't notice), their language is changed to whatever is first in the list (in our case, German).
Now a user created with the moodle forms doesn't have this problem, because the creation script should set it to the site default - but there are a number of modules, like mine (Banner/LMB) and I believe LDAP that don't specify it on db insert, causing the database to use the hard coded default.
It seems to me that either the definition should be updated to reflect the new 'core' default language (en_utf8), or the profile page should be changed so that if a users language is not a valid selection, the site default is selected instead of the top most language (or maybe 'promote' the default to the top of the list all the time?)
That last option would also alleviate confusion if a user is using a language pack that is then removed from the system.