Custom ajax validators for timeFields cause a javascript error in prototype.js due to a mismatch between the name of the time field and the name that's passed to the ajax event initiator.
Time fields have two parts (hours and minutes), and both fields can't have the same name. Consequently, FormHandler appends "_hour" to the name of the "hour" field. However, the ajax event is getting the original name without the "_hour". That field name doesn't exist on the form, so javascript throws an error.
Here's the fix for FH3/includes/class.AjaxValidator.php