Hi, i dont know if this is of any help at all for you, but when i read this post about spam, something immediatly clicked. A little while ago i read an interessting article about a solution for related issues. It is a simple and pretty brilliant concept. It is called "Trolldrossel (troll throttle, troll brake)". It was invented by german IT-Security-Expert (Linus Neumann, ChaosComputerClub Germany). If you can code php it should be a breeze to build such an extension.
The Concept: Use a wordlist which contains the terms and phrases and expressions, which are used by the spammers. thats your foundation to build upon. then you need a function which calculates the keyword density in those spam comments. lets say for example somebody is spamming for those pills for guys that have certain issues. you could use tbe brandnames,, productnames, the pharmacies names, or the referrallinks for the landing page. in case a comment or article is beeing posted which meet the criteria you put on the list, the user is forced to solve a capture again - even if it was right. that way the bot will hang forever in the captcha loop.
another method which is more or less the same concept would be a tarpit. it uses a configurable delay between the clients (bot) request and the servers answer - every time a request comes in, a counter is incremented. lets say you set a max value of posts per hour. if a user exceeds those 5 posts, the delay is applied. i think starting with 60 seconds for post nr. 6, and 60 (3mins waiting time for post nr 7, 4 mins for nr. 8...)more for each following post from that ip / user, should be a good starting point to not stop the real users from posting stuff.
It is unfortunatly not a perfect solution, but i hope that it may be worth considering as a nice addition to get this under control. i know from experience that it really is a nasty thing to have to deal with (spammers used my email and i received all the bounces - that adress is completly unusable to the day. and as a consequence of this i had to change all of my external accounts emailadresses I was young and naiv enough to use one email for all accounts. learned my lesson the hard way).
I dont know if there is an english translation available but the there is certainly plenty to find in german. In case you shouldnt find what you are looking for, feel free to contact me by DM. i will dig up some links for you then.
regards,
sven