Hola
La variable pos parte con un valor de 3, pero fíjate lo que ocurre aquí
Cita: td = tr.insertCell(tr.cells.length);
pos++; // pos ahora vale 4
td.innerHTML = "<input type='text' size='10' name=pos>";
td = tr.insertCell(tr.cells.length);
pos++; // pos ahora vale 5
Suerte