Dave, I am sympathetic to the problem you are facing. Have you analyzed the spam that you got – did you study it carefully? Was it all from just one account? Or were there several? How fast did the spam postings come in, was it 780 messages over a calendar week or was it 780 messages within an hour, or…? I think no person who truly wants to participate in your forums can post with great speed. So it seems to me that it might be possible for you to do the following.
Hold all posts for one clock minute
Count the number of posts from the same account
If the account has more than 3 posts within 20 seconds (based on the time the post comes in over the wire), suspend the account until the account holder calls customer support…or calls someone. I don’t think a legitimate poster can do > 3 posts within 20 seconds.
If the account has more than 10 posts pending within 20 seconds, close the account down.
I think that might be a great help in turning away spam.
If you have spam posts that trickle in steadily, like once every minute, you can apply the same logic.
Suppose someone creates a new account and then sends in posts once every hour. You can queue those, too, and perhaps programmatically scan them for “spam-ish” content.
I know my ideas are a little half-baked right now, I will give them more thought. I have other ideas too, that I will give thought to and post here over the weekend.