I have a Timer Job in a MOSS development environment. The job scans the user profiles and if an entry is different from another data source, it updates the profile. I was wondering why the profiles were not being updated. There were no exceptions or messages. Then I realised that the account that is used for the timer job did not have ‘Manage user profiles’ permissions. This meant that properties that are not public appear to have the value ‘null’.
I gave the account permissions, and voila!