Non so se hai gia` risolto (ero in ferie fino a ieri).

Per fare le cose crossbrowser ci sono alcuni trucchi da usare:
A. sviluppare con una DTD XHTML 1.0 strict (oppure HTML 5, ma ancora non e` ben supportato)
B. procedere nell'ordine seguente:
1. sistemare le cose per i browser sandard (Firefox, Safari, ...)
2. controllare come funziona in IE 7/8 ed eventualmente correggere inserendo il codice nei commenti condizionali
3. idem per IE6 (se necessario/opportuno)

Invertire l'ordine o non usare una DTD strict porta ai problemi che hai notato.
Se non puoi usare la DTD strict, la cosa e` ancora possibile, ma piu` complessa (si tratta di aggiungere regole nei commenti condizionali).

PS: se non sai cosa sono i commenti condizionali, vedi tra i "link utili", o fa' una ricerca nel forum