Currently bbdb-complete-mail (the new name of bbdb-complete-name)
really has no well-defined return values whatsoever. Would it help
if it returned non-nil whenever it had done something?
Yes, that's generally the expected behavior of completion functions.
Would this be the right thing??
In any event, a simple t after (run-hooks 'bbdb-complete-mail-hook)
does the trick, but it probably needs to be changed in some other
places.
Note also that I've already installed a hack in message.el (at least in
Emacs's trunk) that checks that the buffer really was not modified
before