• What you're saying would be correct if you had used an absolute width (pixels). But you've used a relative width (percentage): n% width means n% of the post column width, so an n% wide table or div or object with an (100-n)/2 % left margin will remain centered no matter what the theme.
• If your concern is what happens when you change theme, then don't use tables unless it's absolutely necessary, because the defaults for tables vary from theme to theme (while divs are neutral): some of the coding that produced the intended result in one theme may be redundant if you switch to a theme with simpler table defaults, or insufficient if you switch to a theme with more quirks. Simple example: table cells in Nuntius have equal left and right padding but in Twenty Eleven they have no left padding at all.
• As I already pointed out, for a single column of content you don't need a table: using a table in this case is just unnecessary coding with no advantage whatsoever. Try the following please - it's the same result with less than half the HTML tags you've used (no table, plus one instead of two divs for the two-color strip):
<div class="aligncenter" style="font-family:courier;font-size:85%;line-height:1.1em;border:1.2px solid #000000;background-color:#ccc;width:86%;padding:2px 10px;">
<p style="text-decoration:underline;font-weight:bold;">HEADING</p>
PARAGRAPH ONE
<div class="aligncenter" style="width:85%;height:0;border-top:3px solid #000;border-bottom:2px solid #ff0;"></div>
<em>PARAGRAPH TWO</em>
</div>
• You don't even need a table for the "magazine-style layout" you want. See here, under "Two columns":
http://wpbtips.wordpress.com/2009/06/10/formatting-text-pt-1/
• Happy new year!