This problem popped up for our forum due to the 2.0.12 upgrade as well, and I can say that it's absolutely not just related to hr tags. I can provide another very specific example which triggers it for some reason. I've pared it down a bit from the example provided to me by a user.
"nobbc" tags are used below since they prevent the bug from triggering, where code tags don't.
This will result in a completely empty post ("Announcements" doesn't even appear, nor anything else you might also have in the post):
[center][table][tr][td][img]http://farm6.static.flickr.com/5188/5620582193_07207bc789_o.png[/img][/td][/tr][/table][/center]
[center][size=20pt][font=Arial]Announcements[/font][/size][/center]
Removing just the closing center tag from the top part lets it display:
[center][table][tr][td][img]http://farm6.static.flickr.com/5188/5620582193_07207bc789_o.png[/img][/td][/tr][/table]
[center][size=20pt][font=Arial]Announcements[/font][/size][/center]
Of course also removing the opening center tag on the second line would then leave it working and with valid opening and closing tags, but that's beside the point of there being a strange bug at work in the empty message detection.
Removing or changing most of the other tags also renders it as working, for example the size or font tags on the second line, or replacing the lone image in the top table with text.
There are other seemingly random instances where our users are running into the same problem with other BBCode layouts.
For now I've simply disabled this line of code which was added to Subs-Post.php by the 2.0.12 update, as a crappy workaround until a proper fix is available:
// Remove empty bbc.
$message = preg_replace('~\[([^\]=\s]+)[^\]]*\](?' . '>\s|(?R))*?\[/\1\]\s?~i', '', $message);