People have been complaining about this for 2 years. I spent all morning trying to figure out why the code worked fine for customers, but not store owners. Why oh why do we just see $EMAIL_MESSAGE_HTML?!? I found it, and its not in the code at all. In Configuration->Email Options->Email Admin Format most store owners select TEXT so their order emails are fast, small and easy to print. But most store owners also have a user account to test with, and have its email option set to HTML so they can see the pretty messages that customers see. Somewhere (I refuse to even try to trace it) this creates a conflict, and trashed the resent email. Solution? Just change the user option to text as well and poof, no more messed up resent email. You might want to create a separate user to a different email to see what customer html emails look like.

While trying to figure this out, I also found a way to make the preview HTML work better, not right, but better. In admin/email_history.php after the line
PHP Code:
$html_content str_replace(array('<body>','</body>'),'',$html_content); 
add the lines:
PHP Code:
$html_content str_replace(array('body {'),'<body {',$html_content);
$html_content str_replace(array('_/body_'),'</body>',$html_content);
$html_content str_replace(array('_/html_'),'</html>',$html_content); 
That clears up most of the mess.