I've written a small poppassd service (port 106) that is usable with vpopmail when using a MySQL back-end. I specifically wrote it to use with the SquirrelMail "change password" plugin (http://www.squirrelmail.org/plugin_view.php?id=21) when I had problems getting the poppassd they recommend for courier to work. This daemon can be used by any client, though.
It includes some code to reject easy-to-guess passwords, IP restrictions (must have already logged in from that IP), and a small tarpit. Requires xinetd, DBI, and Socket, and is most efficient with SpeedyCGI.
If anyone's interested, it's at http://www-rohan.sdsu.edu/~cleaver/software/qmail/. I'd be interested in any feedback anyone has. :)