Per risponderti a tono:

1)No, SOLO SU IE devi farlo, perchè è un suo bug; infatti, secondo le regole ufficiali dei CSS, il posizionamento di default di un qualsiasi box è static, che corrisponde in tutto e per tutto a relative, se non per il fatto che top, bottom, right e left vengono ignorati; in più, le regole dei css stabiliscono che le coordinate specificate per l'absolute sono riferite al "containing box", ovvero al block element che contiene l'elemento corrente, ed esso non è certo il body, ma nel tuo caso la div corpo, se non sbaglio...

2)Io sto parlando con te di una cosa che riguarda uno specifico codice che hai postato qui, non vedo cosa centri una discussione tra te e la mia collega che è avvenuta su un altro forum, al quale tralaltro non sono nemmeno iscritto e che non leggo nemmeno...
Il codice è brutto, a mio modesto avviso, semplicemente perchè è almeno 4 o 5 volte più complicato del necessario, non è indentato in modo chiaro, è PIENO (non ce ne è uno o due, è pieno) di commenti di DW, e, se non vado errato, ha anche degli errori (come un tag title ripetuto).

3)Colpa di Lycos.

4)struttura.css contiene per parecchie volte la stessa regola, per esempio #corpo. L'unica ragione per cui il tutto funziona è perchè i browser moderni sono MOLTO tolleranti: le regole dei CSS stabilirebbero infatti che se ripeto più volte una regola in un foglio di stile, VENGANO IGNORATE TUTTE tranne l'ultima, cosa che se fosse messa in pratica ridurrebbe il tuo struttura.css ad un vero colabrodo.

5)Uhm, la tua idea del troubleshooting è molto strana... Non funziona con gli ID allora provi con le CLASS? Io, col semplice metodo dicotomico, provando a togliere una cosa alla volta, ci ho messo pochi minuti a rendermi conto che il problema era un conflitto tra struttura.css e menu.css...