Come dice Jerry, gran parte dei problemi che riscontri sono dovuti all'uso libertino che fai del padding e in parte del margin. Per carità niente di concettualmente errato, tuttavia IE ha il suo concetto personale di padding, quindi se vuoi costruire qualcosa di decentemente compatibile, i blocchi di alto livello devono necessariamente avere "padding: 0;" sempre e comunque. All'interno di quelli ci puoi mettere dei sottoblocchi eventualmente col padding. In sostanza non puoi usare il padding nei blocchi che necessitano di essere posizionati in un punto preciso.

Quindi ad esempio non <div>testo</div> con padding al div, ma eventualemnte <div>

testo</p></div> con div a 0 e p col pad.

A riprova di quello che ti sto dicendo controlla la pagina in IE 5.0 (usato da un buon 10% di gente) e spaventati.


Riguardo al problema 3:

font: 11px Arial Helvetica sans-serif;

Secondo me mancano semplicemente delle virgole... prova un po'...

Infine ti consiglio di sviluppare su Firefox e dopo di correggere in IE non il contrario ti risparmi molta fatica ti assicuro.