I just checked the IP's of the spammers who have tried to register and 2/3 of them were listed in the APEWS or some other RBL list. If we checked the users IP before displaying the registration page 2/3 of my problems would disappear!
While we are at it fix the approval sequence:
1. Notified of new user - send ALL information needed and include IP and if they passed the RBL check
2. If I decide to ban a user have checkbox that puts the users e-mail domain, IP address into the banned list