buenas...
siempre y cuando sean metodos estandar, en realidad no importa mucho el metodo para llegar a un elemento y trabajar con el. childNodes es una forma, getElementsByTagName es otra, getElementsByName tambien. la unica diferencia es que segun la metodologia puedes obtener ciertos elementos especificos con los que deseas trabajar. el punto es que con childNodes no solo obtienes nodos del tipo elemento, sino casi de cualquier tipo. dada la diferencia que existe en iexplorer, childNodes no me parece el mas adecuado a no ser que tomes ciertas medidas el cual explica el articulo.
a lo que voy es, con rows obtienes especificamente elementos TR, y una vez tengas la fila puedes usar cells el cual contiene celdas de dicha fila. una vez obtienes la celda, puedes hacer exactamente lo mismo que hacias con childNodes. en tu caso, crear IDs distintos para los campos. un ejemplo aplicado...
Código:
// clone es el clon de una fila;
clone.cells[0].innerHTML = ...;
clone.cells[1].innerHTML = ...;
clone.cells[2].innerHTML = ...;
...
para que puedas tomar el valor en el servidor es importante que cada campo tenga un nombre, no un id.