The problem with what you have is the spammers are true humans not just a script.
So they pass any captcha or control method you may have implemented.
I have not tried it yet but one item you may try is the
stop forum spam mod at ubbdev.http://www.ubbdev.com/forums/ubbthreads.php/ubb/showflat/Number/318736
I have used the service manually myself for years and it does a good job to track spammers.
I use it when I suspect a spammer registration. If they are in the stop forum spam database I ban then.