You should be able to toggle their approval state from a code action using PHP. Example as follows.
Global
Triggers: onBeforeUserRegistration
Type: Code
User: Automatic
Access: Everybody
Conditions
1: [cb_membertype] Equal To Other
Action
Method: PHP
Code:
Code:
$variables['var1']->set( 'approved', 1 );
Parameters
Reference Variables: Variable 1
That should force the approved state to approved before they're even stored in the database. All the emails should act accordingly. If you're not using email confirmation then you'll likely need to use the below as well to unblock them.
Code:
$variables['var1']->set( 'block', 0 );
$variables['var1']->set( 'approved', 1 );
Note this is only for frontend registration as backend you'd just create them as approved already.