Nope, it turned out it was the MessageText class in post.inc.php.
Splitting the signature from the post content resulted in a trailing new-line char being added to the post content which when passed through add_paragraphs() was converted to a <br /> which forced Beehive to use full HTML mode rather than auto-line break mode.
Fixed it by simply trim()-ing the content before passing it through add_paragraphs().