hai ragione, funzionano se assegni un name all' iframe,
ma se assegnassi solo l' id (non obbligatorio, ma il w3c consiglia di evitare i name) dovresti usare una sintassi un po' diversa x mozilla e amici
codice:
document.getElementById('id_iframe').contentDocument.body.innerHTML
mentre con ie funzionerebbe la sintassi che hai postato poco sopra