Hi,
erstmal haben li und a kein HasLayout für den IE. Daran stört sich besonders der IE6, der die Abstände der Navigationspunkte vergrößert.
Abhilfe schafft hier:
* html div.left li {
height:1px;
}
* html div.left a {
height:1px;
}
Das schreibst du in den Cond.Comment und wird nur vom IE6, IE5 gelesen.
Probier mal beides aus.
Der #header wird ja im IE nur teilweise angezeigt. Er hat ja keinen Inhalt, nur die HG-Grafik, ein leeres h2 und einen leeren Link.
Mach das doch so:
Quelltext des Abschnittes:
<div id="header">
<h1><span></span>Deine Hauptüberschrift</h1>
</div>
CSS dazu:
h1 {
height: 262px;
position: relative;
width: 800px;
}
h1 span {
background: url(images/header.png) no-repeat left top;
height: 100%;
position: absolute;
width: 100%;
}
Alles anzeigen
[FONT=Arial][size=12]Erstmal aus der h2 ne h1 gemacht (ist ja deine Hauptüberschrift).
Das h1[/SIZE][/FONT][FONT=Arial][size=12] wird relativ positioniert, damit es dem absolut positionierten span als
Bezugspunkt dienen kann[/SIZE][/FONT].
[FONT=Arial][size=12]Das span wird auf die Größe vom h1 aufgespannt und bekommt die HG-Grafik
zugewiesen.
Dadurch das es absolut positioniert ist, schwebt es praktisch über
der h1-Überschrift. Der Text wird also nicht aus dem Viewport geschoben
die Grafik wird einfach über den Text geschoben. So haben die
Sumas auch noch was zu indexieren. 
Je nachdem was du für ein line-height (in body?) definiert hast und ob #header HasLayout
hat ist beim IE oben eine kleine Lücke, bzw. wird die Grafik evtl. nicht oder nicht richtig angezeigt.
Dann gibst du dem IE per Cond. Comment einfach:
#header {
zoom:1; /* Gibt Haslayout! */
line-height:normal; /* Läßt die Lücke verschwinden falls eine da war */
}
Ach ja, ein valides Dokument ist natürlich eine sinnvolle Grundlage, mit der man Fehler leichter in den Griff bekommt. 
[/SIZE][/FONT]