I am sorry if there is an answer for this out there somewhere already, but I cannot seem to find it.
The only spam overrunning me at the moment is the type that is somehow inserted into the database attached to a post that doesn't exist yet. I tried using TechGnome's solution posted here:
but I am using 1.5, and am not sure that this solution translates...
I tried changing the original's "$tableposts" to "$wpdb->posts":
$_tg_postID = 0;// $_tg_postID = $wpdb->get_var("SELECT ID FROM $tableposts WHERE ID = '$comment_post_ID'");
$_tg_postID = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE ID = '$comment_post_ID'");
if ( $_tg_postID == 0 )
die( __('Hey now! There is not any post by that id. What do you think you are trying to pull here? If it quacks like a duck, smells like a duck and looks like a duck, then it must be a duck. If it spams like a spammer, smells like a spammer, and looks like spam, then it must be spam! Now beat it before I rat you out') );
It isn't working, however. The problem with this kind of spam is that, because it has no post connected with it, it cannot be deleted, and since it wasn't added using the form (it seems), it doesn't send an email with a delete link. Also, to top it all off, the comments show up in my list of recently commented posts. :( Damn spammers.
Thank you all for your help.