Due to updates in WP (I think) the hook I would now use doesn't quite work right when you have unsynchronized passwords. The workaround for this right now means that the custom error message doesn't appear if the login already exists in the WordPress user database. Otherwise everything works.
This will be uploaded tonight most likely.
http://wordpress.org/extend/plugins/external-database-authentication/