I actually measure the image and use pixels if the graphics weenie I'm working with/for actually complains like "there are only 20 px between these words but the comp clearly shows 22.6px" or similar.
One thing that REALLY helps is knowing which fonts were used, otherwise you'll never get pixel-perfection.
If I know the line-height used in the comp I can measure that, put a coloured block over it, and now measure things like vertical distances and decide if I want bottom margin or what.
I measure with the GIMP, but any decent image editor has a measuring compass thingie somewhere.
If you are working with a "20px is not 22px" graphics weenie, you canNOT use em's or fluid design. This is why if you want to deliver quality to the client you hope to your dear sweet god(s) that such a graphics person is not involved, because then you can write fluid and go by eyeball.
I usually am able to get away with using em's, my favourite unit. But this is still always after someone has demanded a base font size in px.
So I usually have
font: 100%/1.3 some, font, family;
sometimes also their-requested-lineheight;
So now all my body/base fonts are whatever the browser thinks is "requested-font", which is 1em, and I'm good to go. If someone whines a bit about sizes and knows what they want for things like headings (if they know they want some h2 to be only 14px instead of whatever the default is) then you give it a go in em's (say, 1.2em) and you can check the px rendered using the browser's debugger (somewhere by computed styles) to see how close 1.2em matches. Since most of my clients demand 12px, I don't check mine anymore. I know which em unit will give me the other px they want, and the rest is done by eye. Same goes for margins, you can set them in em and then check what the browser made of it. Browsers will differ, but usually not hugely.