ti stai scordando qualche appendChild qua e la, se crei una cella e ci appendi roba ma la cella non la appendi di strada ne fai poca.
Detto questo, per una tabella compatibile sia IE che firefox devi creare ... indovina? una tabella, con tanto di tbody

codice:
var table = document.createElement("table"),
    tbody = document.createElement("tbody"),
    tr = document.createElement("tr"),
    td = document.createElement("td"),
    text = document.createTextNode("Hello Table");
td.appendChild(text);
tr.appendChild(td);
tbody.appendChild(tr);
table.appendChild(tbody);

onload = function(){
    document.body.appendChild(table);
};
ma se vuoi un consiglio, il modo più veloce ed indolore per trasformare un XML in HTML, tabella o altro che sia, è XSL(T)