One fairly simple way to block comment spam is just to change the comment form system a little. Get people to put their URLs in the main comment box and take the URL field out of your form (but leave it in the script). Any comment with the URL field filled in has therefore not been done through the comment form, but by a script. Coming up with a little bit of script to automatically delete these is no problem (I get a lot of Christian dating websites, for some reason, very odd).
Its such a simple way that I actually feel a bit embarrassed for suggesting it, but it works. The downside is that you lose the URL field in comments, but you can either make a different one with a different name or include it in Name or Comment fields. And of course it only works where spambots leave a URL, but…they usually do, since that’s kind of the whole point.