Margin is working when flash is NOT there.
It should not. Therefore, you have something else going on in your code (in a parent element or someone) that we cannot see.
Build an empty page and throw in a div and give it automargins but no width and it will not center. CSS follows particular rules. If it's centering without Flash then some other part of your code is doing the centering.
Trust me on this.
*edit another thing to consider is, divs are blocks but objects are special inlines (like images) unless the CSS somewhere is making the object a block. Like inlines, an object can be centered when text-align: center is added to its parent element.
You can give align center
Like the <center> tag, the align attribute is also deprecated. Deprecated doesn't mean it won't work in a browser; it means the W3C recommends against its use and it will be considered an error when you validate.