Ci sono un po' di cose che possono dare il problema.
Anzitutto ti manca definire
width: 100%;
sella formattazione di html e di body: senza questi i margini automatici non possono funzionare
Poi per centrare in orizzonatale occorre:
text-align: center;
nel body per sistemare in IE
margin: 0 auto; /* oppure altri valori per il vert, ma auto per ambedue gli orizz */
nel blocco da centrare per sistemare nei brwoser conformi
text-align: left; /* oppure il valore che vuoi */
per controbilanciare il text-align di cu sopra
Altre cose:
Non devi usare formattazione in HTML (ad esempio il tuo align="center"): questo crea conflitti tra CSS e HTML e browser diversi risolvono i conflitti in modo diverso
Non usare i posizionamenti: interferiscono con gli altri strumenti di formattazione, e son molto difficili da gestire (di solito creano sovrapposizioni di blocchi): se non hai molta esperienza, non usare mai il position.