Ci sono molti errori:

1. usi le tabelle per formattare (errore semantico)

2. mescoli formattazione HTML con formattazione CSS (devi eliminare tutti i vari
width="100%" border="0" cellspacing="0" cellpadding="0"
e sostituirli con i corrispondenti attributi CSS

3. usi tabelle annidate (non hanno senso, e non so come vengono trattate dai browser moderni)

4. nel tuo ultimo esempio hai un oggetto contenitore con "display:none;" che contiene un oggetto con "display:block;": e` chiaro che il browser rileva una incongruenza, e si comporta come crede (e` conseguenza dell'errore 1).