It may be going over old ground, but the spam problem you have seems to be people posting ads randomly, could you not just have a rule saying no one is allowed to place a new thread until they have a record of responding to say 12 normal posts. Or even held a profile for over two weeks.
This would also stop the one post wonders you see who post a ridiculous or controversial subject and vanish (Or Trolls as I am reliably told)
I'm no expert as you can see but why could it not be employed?