Tried adding a check in SphinxConfig1GenerateEmailConfirmationToken for something and if I don't like the email, I raise an exception. That is displayed back to user Ok, but it still progresses to the next "Verification required" screen - that's probably not the right way to go, it should have stayed on the registration page, I would have thought.
Or instead, if you can expose validations for different things, it can be done right there and it would work transparently.
On the other hand, if email functionality throws an exception, error message display should be the end of it.
Also, if registration takes too long (and it would, if you are asking for 16-char passwords, where the user will need to figure it out and save it somewhere), that form expires and all entered information is lost. Can you either allow the user to take hours to register, or keep them on the same screen, auto-restarting the process?