What I did was to rename register.php so the bots couldn't find it. I used a search and replace script to replace all instances of register.php with some non-sensical file name which is not at all relevant to any forms. For instance, file name wagonwheel.php, ( and don't copy that, make up your own ). Then I renamed the actual register.php files. I was surprised to find that there is more than one. There is another in the lang directory.
The find and replace script I used wrote to a log file, so that made it easier to see whether it worked or not and what the problems were.
I did this first on my local winlamp installation. On the server, I ran into file write permissions problems. I just replaced the files from local rather than change file permissions.
Since renaming register.php, I've had no spam-bots registering. They work off of a list of URLs to form pages, so changing the URL stops them. People can still register in the normal way.
I'm no programmer, but I think it might be good if there was something in punBB or an extension that changed all references to register.php into something dynamic like a variable and let admins of forums set the filnames for form pages themselves into something the spambots cannot find.