Cache + random + hook_form_user_register_form_alter
When the forms cached, it caches the original, unprocessed $form array, and the builder functions are not called again. 

you can explicitly set cache off by setting $form_state['no_cache'] = TRUE;. Note that this has potential to break Ajax forms.