As it turns out, the problem is more easily solved by first tricking QuitUser into thinking the user was already registered. OnUserRegister did not work because the user was given no chance to even try to register w/ SASL. QuitUser had previously been quitting the user under the assumption that the user was not registered while apparently the user already had a UID stored.