In IE8 my header looks like a bottom margin is set, yet margins are set to 0px. I’ve set a border property to test this.
I’m using DIV tags not HTML5 header, nav, etc.
Now that I’m looking at this picture, I’m noticing an extra pixel on the right as well.
#header
{
margin: 0px;
padding: 0px;
width: 800px;
height: 200px;
border: 1px solid red; /* test */
}
#nav
{
margin: 0px;
padding: 0px;
border: 1px solid black; /* test */
}

Where is the grey colour in the header coming from? If it’s an image, you might want to check that its dimensions match those in your CSS definition (i.e. 800px x 200px). Otherwise, try removing any margins on the image.
Without seeing your full HTML structure, it’s difficult to troubleshoot.