allora, ora praticamente sono riuscito a fare tutto.
posto il codice completo che può -se privo di errori di concetto- servire anche ad altri, visto che contiene diverse automazioni:
1) aggiunge una riga di intestazione
2) la aggiunge solo alla prima iterazione, per cui se vengono aggiunti altri campi non la rimette
3) c'è un node con un'immagine
4) input
5) cross-browsing per gli eventi onclick non gestiti da IE6>= ma gestiti bene da FF
6) creazione dinamica di campi in base ad un input dell'utente.
codice:
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState == "complete"){
res = xmlHttp.responseText;
vett = res.split("|");
if(cont == 0){
var col_h1 = document.createElement("TD");
col_h1.style.backgroundImage = 'url(immagini/sfondo_tab.jpg)';
col_h1.style.color = 'white';
col_h1.style.fontSize = "10pt";
col_h1.innerHTML = "Nome Generato";
var col_h2 = document.createElement("TD");
col_h2.style.backgroundImage = 'url(immagini/sfondo_tab.jpg)';
col_h2.style.color = 'white';
col_h2.style.fontSize = "10pt";
col_h2.innerHTML = "PNG Associato";
var col_h3 = document.createElement("TD");
col_h3.style.backgroundImage = 'url(immagini/sfondo_tab.jpg)';
col_h3.style.color = 'white';
col_h3.style.fontSize = "10pt";
col_h3.innerHTML = "Salva";
var riga_h = document.createElement("TR");
riga_h.appendChild(col_h1);
riga_h.appendChild(col_h2);
riga_h.appendChild(col_h3);
document.getElementById("nomi_generati").appendChild(riga_h);
cont++;
}
for(var i=0; i < vett.length-1; i++){
cont++;
col = document.createElement("TD");
col.style.width = '50%';
col.setAttribute('valign','center');
col.innerHTML = vett[i];
col2 = document.createElement("TD");
hid = document.createElement("INPUT");
hid.setAttribute('type', 'hidden');
hid.setAttribute('name', 'hid_nome_'+cont);
hid.setAttribute('id', 'hid_nome_'+cont);
hid.value = vett[i];
inz = document.createElement("INPUT");
inz.setAttribute('type', 'text');
inz.setAttribute('name', 'nome_'+cont);
inz.setAttribute('id', 'nome_'+cont);
inz.setAttribute('class', "piccolo");
inz.setAttribute('className', "piccolo");
col2.appendChild(hid);
col2.appendChild(inz);
col3 = document.createElement("TD");
bro = getBrowser();
if(bro == 'moz'){
oImg=document.createElement("IMG");
oImg.setAttribute('src', 'immagini/salva_nome.png');
oImg.style.cursor = 'pointer';
oImg.setAttribute('onclick', 'ajax_nomi(hid_nome_'+cont+'.value,nome_'+cont+'.value);');
col3. appendChild(oImg);
}
if(bro == 'ie'){
col3.innerHTML = "[img]immagini/salva_nome.png[/img]";
}
rg = document.createElement("TR");
rg.appendChild(col);
rg.appendChild(col2);
rg.appendChild(col3);
document.getElementById("nomi_generati").appendChild(rg);
}
}
}
c'è una cosa però bizzarra che accade solo con IE.
se creo un numero di righe superiori a 7 la tabella inizia a muoversi e si sposta verso il basso e non rimane li dove dovrebbe!
in firefox va tutto bene, in IE superato un certo numero di righe la tabella va giù.
i markup che la contengono sono i seguenti:
codice:
<tr><td colspan="2" ><div id='cont_tab' style=' height: 160px; overflow-y: auto;' >
<table cellspacing='0' cellpadding='3px' align='center'><tbody id='nomi_generati'></tbody></table>
</div>
</td></tr>
ciao ciao! 
EDIT:
ho brutalizzato l'impaginazione 
codice:
<div id='cont_tab' style='position: absolute; top: 210px; height: 155px; overflow-y: auto; width: 440px;' >
ora sta fermo :P