Da quanto ne so, la formattazione CSS e` molto piu` semplice da gestire, e se segui le regole XHTML Strict dovrebbero capire anche i browser dei dispositivi "leggeri".

Nel tuo codice ci sono tag ed attributi scritti in maiuscolo (INPUT, readOnly, ...), valori non conformi alle regole (readOnly="true"). Anche il display: inline applicato ad un div non mi piace: rischi di creare un cortocircuito tra HTML e CSS.

Quindi il mio consiglio e` di passare alla DTD XHTML 1.0 strict, facendo anche attenzione ad usare i tag correttamente (secondo la sematica): nei form per separare i campi si puo` usare il tag <fieldset>; per affiancare oggetti di tipo blocco si usa il float.