I have a personal website that gets no real traffic, but has become an interesting test bed for fighting spam bots.  The game began soon after adding an email form and a basic tag board to the site.  It didn't take long before the spam began arriving.  
I solved the contact form spam by simply removing any recognizable email header terms from the form values, changing them instead to nondescript values; value1, value2, etc.  No need for CAPTCHA or other deterrents if the bots can't even find the form.  I haven't had a single spam email in 6 weeks!
But the tag board/guestbook is making me nuts.  It also has nondescript form values, and even a CAPTCHA and keyword filter.  But a German spammer keeps getting thru.  His bot posts in spurts, seconds apart, trying to making it appear as if many posters are carrying on a conversation.  
I finally added his IP address to my blocking script, but it doesn't work.  The script works in testing, but not on this bot.  His IP is detected and added to the database by the guestbook.  But if I try to direct that IP away from my site or manipulate his posts, there is no effect.  
I even separated the form and the processing functions into separate files to be sure the bot couldn't bypass my counter measures, but still no luck.  My understanding of how these bots actually function is limited, so I'm hoping someone can help.  
My basic IP block script is this:
Code:
'Ban Problem IP Addresses
Dim sIP
Dim sIParray(1)
'assign our blocked IP addresses to our array
sIParray(0) = "78.46.98.3"
sIParray(1) = "83.233.30.101"
'retrieve the visitors IP address
sIP = Request.ServerVariables("REMOTE_ADDR")
'loop through the banned IPs using the UBound function
For i = 0 to UBound(sIParray)
'check if IP address matches any of the blocked IPs
If sIP = sIParray(i) Then
	response.redirect "http://www.yahoo.com"
End If
Next