[eluser]skunkbad[/eluser]
I don't see a reason why the callback wouldn't get called, but for instance, in your username check callback, you wouldn't just return TRUE, you would return $username. Then you use set_value() to use that validated and potentially modified value. Maybe just returning true isn't good enough.