Yep, a bug.
The fix is to add all the fields to the list (probably some where left during the transition from "fields" to "custom fields").
In other words, in Register.controller.php, find:
$possible_strings = array(
'birthdate',
'time_format',
'buddy_list',
'pm_ignore_list',
'smiley_set',
'personal_text', 'avatar',
'lngfile',
);
$possible_ints = array(
'pm_email_notify',
'notify_types',
'id_theme',
);
and replace with:
$possible_strings = array(
'birthdate',
'time_format',
'buddy_list',
'pm_ignore_list',
'smiley_set',
'personal_text', 'avatar',
'lngfile', 'location',
'secret_question', 'secret_answer',
'website_url', 'website_title',
);
$possible_ints = array(
'pm_email_notify',
'notify_types',
'id_theme',
'gender',
);