Hallo,
Hier erst mal die stark vereinfachte *g* Version der Seite:
<html><head><title>Test</title>
<style type="text/css">#div2.a { background-color: #a00; }
#div2.b { background-color: #0a0; }
#div2.c { background-color: #00a; }</style>
</head><body><div id="div2" class="c">
Text hier müsste dunkelblau hinterlegt sein
</div>
<div id="div2" class="a">
Text hier müsste weinrot hinterlegt sein
</div></body></html>
Hier darf er das sogar, weil eine ID in einem Dokument _eindeutig_, lies: einmalig, zu sein hat, also nur _ein_ Element mit dieser ID existieren darf.
IE macht das aber auch dann so, wenn das CSS für mehrere Dokumente gilt und dann ist es falsch. Eine Lösung, außer mehrere CSS-Definitionen für eine ID zu vermeiden, gibt es soweit ich weiß nicht.
viele Grüße
Axel