Lieber Jan,
mit dem völligen Herausnehmen des <body>-Tags tust Du Dir keinen Gefallen! Das <body>-Tag _muss_ sein! Das darin enthaltene Attribut bgcolor enthielt den Wert "#000000", was für den schwarzen Hintergrund verantwortlich war.
Da sehe ich in der betreffenden Tabellenzelle im style-Attribut "position: absolute;". Muss das sein? Was soll eigentlich der z-index? Und wenn Du da schon CSS-Angaben machst, warum steuerst Du das Hintergrundbild nicht auch darüber, sondern versuchst es mit dem "background"-Attribut im <td>-Tag? Für mich ergibt das absolut keinen Sinn!
Mein Vorschlag: Entferne _alle_ Attribute in deinem HTML-Quelltext, die etwas mit Gestaltung zu tun haben. Verwende stattdessen class- oder id-Attribute (was Du ja z.T. schon hast) und steuere mittels zentraler CSS-Rulesets (Du hast ja schon eine externe CSS-Datei -> NUTZE sie!) das Aussehen Deiner Layout-Tabelle. Dann sollte es auch mit dem Hintergrundbild wieder klappen.
Liebe Grüße aus Ellwangen,
Felix Riesterer.