I'm glad its working well for you!
Updated to v1.19. This is the last planned update (unless any bugs are found). See the first post for the updated script.
Two changes, the first is that the version number of the script is added to the X-Poco-Spam-DNSBL header (for debugging).
The second change requires a bit of explaining. When the script runs it calls nslookup (or nslook) and then it waits around for it to create some short files in the temp folder that holds the DNSBL result (these temp files are cleared up by the script). If the script timed out there was a small (probably didn't happen in practice) chance that nslookup/nslook finished during a subsequent email check and overwrote the result for that email check with a previous result. Now a random number is added to the temporary filename so that a previous result cannot interfere with the current result.
Ok so you probably didn't want to know that but anyway thats the change
Over the last couple of updates the timeout option has been fiddled around with. It should now approximately give a time in seconds after which the script will give up waiting for nslookup to finish (it's not exactly in seconds but thats a rough guide). 1 is probably too small a value, so 2 or above is recommended (i use 4 but it depends on your connection).
Thanks to everyone that has helped with the development of the script and keep on posting bugs!
