I would strongly recommend not to use "em" units for margins or paddings. If you want "flexible" units, it's better to use "%". "em" units are relative to the font size of the parent element; also, they are affected by the font size specified in the user's browser. "%" units are relative to size of the parent element and are not affected by the font size specified in the user's browser.
Take a look at these samples (in all of them, the blue line shows the alignment on those elements whose margin was defined in "%" units, the green line is for those whose margin was defined in "em" units):
IE7 and font sizes set in browser were medium, larger, and largest
http://csswiz.files.wordpress.com/2010/06/ie7.gif
Firefox 3. (in browser) Font sizes were set to 16, 20, 26
http://csswiz.files.wordpress.com/2010/06/fx3.gif
Opera 9.27. (in browser) Font sizes were set to 16, 21, 26
http://csswiz.files.wordpress.com/2010/06/op9-27.gif
Safari 6. (in browser) Font sizes were set to 16, 21, 26
http://csswiz.files.wordpress.com/2010/06/sf5.gif
In all the examples, I'm using two fonts: Arial and Times New
The test page can be found here
http://sandbox.coderlab.net/tests/text/fontest.html
Just imagine, defining margins/padding in "em" units can produce undesired results in a layout if a user has set, in their browser, a font size different to the default one (which usually is 16).
Even though "zooming" would preserve the layout if margins/paddings are define in "em" units, it's always of good practice to keep in mind those users who would set a font size bigger than 16 just so they don't have to "zoom in" every time they read a blog/site whose font is too small for them.