i added a 'DENYHARD' for exactly this sort of reason. it sends the 550 response, and then drops the connection.
it's attached -- it isn't against the most recent version, so it may not
patch cleanly.
it also adds a reset_transaction hook. (i needed it for my logging plugin.)
Patch applied, docs added (I'm gonna start getting stricter on the latter with future patches though <grin>).
Matt.