Hola GoRaXaN.
Un par de observaciones (que no necesariamente soluciones).
Yo en tu lugar calcularía el número de elementos del arreglo antes de recorrerlo, porque como lo haces estas utilizando como parada el llegar a un elemento inexistente (que te debe producir el error).
Yo lo haria asi:
Código PHP:
nMax = fila.getElementsByTagName('td').length;
for(i = 0; i < nMax; i++){
.....
}
En segundo lugar no esta claro quien es fila, pero eso supongo que lo estas controlando bien (?).
Saludos.