Ja, das ist so.
Du könnntest das althergebrachte "<center>" vorschalten, das ist aber als deprecated eingestuft und sollte deshalb möglichst nicht mehr verwendet werden.
Leider fehlt noch ein echter Ersatz für diese einfache Funktion, denn mit CSS wird es immer anders interprätiert und funktioniert vielfach gar nicht.
Meine Meinung:
Solange die Browser verstehen, was ich ihnen durch den Quelltext sage, solange verwende ich auch die HTML-Elemente, die "deprecated" sind, wenn es für sie keinen sinnvollen Ersatz gibt.
Was du jetzt machst ist dein Problem 
Hier aber trotzdem eine Lösung:
Du benötigst ein weiteres umschließendes Div mit dem Style "text-align:center". Damit klappt es dann im IE, nicht aber im Firefox. Für den Firefox mußt du das nachfolgende Div erweitern mit "margin:auto", dann klappt es auch dort:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<div style="text-align:center">
<div style="margin:auto;background-color:#FF0000;width:400px;height:200px;">
<table border="1" cellspacing="0" cellpadding="0" style="width:100%;height:100%">
<tr>
<td>xx</td>
<td>xx</td>
</tr>
<tr>
<td>xx</td>
<td>xx</td>
</tr>
</table>
</div>
</div>
</body>
</html>
Alles anzeigen
G.a.d.M.
Ronald