The XF registration flows from registering to valid/moderated are;
- register => spam checker says moderate => approval queue => user_state set to valid. No email confirmation.
- register ("Enable email confirmation" == true) => email confirm ("Enable manual approval" == true) => approval queue.
- register ("Enable email confirmation" == true) => email confirm ("Enable manual approval" == false) => user_state set to valid
- register ("Enable email confirmation" == false) => user_state set to valid
- register ("Enable email confirmation" == false, "Enable manual approval" == true) => approval queue
If the spam checker pushes as user into the moderation queue, email confirmation hasn't been done and the "approve" option skips email confirmation.
This is rather unexpected behaviour and can cause 'Enable email confirmation' to be bypassed until a hard-bounce comes along and disables the account.