margin:auto справляется со своей задачей в браузерах Firefox, Opera, Chromium, Google Chrom и во многих других браузерах. Но в браузере Internet Explorer (IE<8) margin:auto не выравнивает блок по центру.
Для совместимости сайта с браузером IE, в стиль отцентрированного элемента можно добавить инструкцию text-align:center;
#main div{
display: block;
margin: 0 auto 0 auto;
text-align: center;
}