Sto cercando di individuare il problema. Ho notato immediatamente però una contraddizione. Utilizzi XHTML (l'intestazione dice al browser di leggere la pagina come XHTML, versione 1.0 di transizione) ma non ne rispetti in alcuni casi le regole e scrivi come se fosse HTML.
Ricorda che in XHTML:
- Tutte le etichette (i tag) devono essere scritti rigorosamente in minuscolo.
- Tutte le etichette devono essere ben annidate.
Esempio errato: <b><i>Ciao</b></i>
Esempio corretto: <b><i>Ciao</i></b>
- Tutta la formattazione del testo dovrebbe essere assegnata ai CSS. I tag <font>, <center> e via discorrendo non dovrebbero più essere utilizzati.
- L'utilizzo di tabelle <table> è fortemente sconsigliato in XHTML. Al loro posto si dovrebbero utilizzare le <div> supportate dal CSS.
Se tu dici al browser di interpretare la pagina come XHTML e poi scrivi in HTML, e chiaro che potrebbe avere qualche difficoltà. Come se mi dicessi che un tizio con cui devo colloquiare parla inglese e poi mi ritrovo di fronte un russo.
Quindi o cambi il DOCTYPE in HTML 4.01 oppure fai queste correzioni. Quale sia meglio non importa (alcuni dicono l'XHTML altri l'HTML), la cosa che è importante è scrivere rispettando la sintassi del linguaggio scelto.
EDIT: Il problema sta nelle immagini annidate tra i TD. Firefox che è più rigoroso di Internet Explorer dà perciò un errore. Come ti ho detto prima, ti consiglio di utilizzare le <div> al posto delle tabelle. Altrimenti puoi risolvere il problema non lasciando spazi nell'editor tra i tags <img> e il precedente tag.