Okay, I've made some changes
You no longer need to leave the registration_form template as "is", even if changes are made to the core template, it shouldn't cause an issue with FBHP
You can probably make the changes you want, as long as you leave the original ids in (and don't duplicate these ids):
id="ctrl_username"
id="ctrl_email"
id="ctrl_password"
id="ctrl_confirm_password"
id ="ctrl_gender_male"
id ="ctrl_gender_female"
Since I now use regex for the template modifications:
#<dl[^>]+>[^<]+<dt><label for="ctrl_email.+ctrl_email(.*?)</dl>#siu
I've also added an option in the FBPH Options:
With the regex changes made, I really doubt this option will be needed,
Unless xenforo decide to change the registration form template vastly, or another add-on does something very strange, then dont tick this (this is a fall back "last option" / if all else fails)
You will possibly only need to tick this option if you (the admin) / a plugin has done something very bad.. such as adding multiple "unique" IDs to the registration_form(tut tut)
It also means I can get rid of the redundant hidden time-zone modification
So this is incredibly robust.. this allows for other plugins to do ILLEGAL things (duplicate ids), allows for admins to change the core registration_form template (as long as ids that should always be present remain present), and if all else fails, there is a legacy mode which should avoid any add-ons causing issues with the registration_from template (which shouldn't happen with the template modification anyway)
I will release this shortly...