I have published a simple, (very) low overhead solution to this issue. It's on Codewalkers, and you can see it at www.officedevils.com/contactsnippet.php
Basically it just includes a sum in the form with two hidden variables, so you have to correctly complete the sum before the submission is accepted.
This could be made far tougher by various means, such as changing the "+" to the word "plus", adding in "-", "*", etc., as well as changing the function a bit, so it printed "one", "twenty", etc. instead.
Or use a gif of the numbers, storing a solution someplace server side, but this stops the blind.
Obviously these would be weaker solutions than a rendered gif, but they do use a lot more processor than 2 + 40! (They are roughly in order of increased processor load) The spammer has to then write a complex regexp to cover all the possible options, which will be beyond most, and those that do sort it will still be stopped (at least) every n tries by the rendered gif.
Using the gif every n attempts alone would be a failure, though, since the spammer then still gets n-1 spams through *and* you still get the overhead issues!
Edit: No responses to this so far, but there is a new program out to try to brute-force the image systems, called Caecus ver 1.0, which OCRs the image, and automates the registration!