Il fatto è che text-align:center va usato per IE non sull'elemento da centrare ma sul suo contenitore, mentre margin:auto serve proprio per centrare l'elemento. In maniera cross-browser con una sola classe o un solo elemento è praticamente impossibile...