la verdad que todo depende de la estructura y tu necesidad. por ejemplo, en cuanto la estructura si la celda solamente contiene un link puedes usar
firstChild en el TD. aunque aclaro que eso no va a resolver tu problema en los navegadores. evidentemente es porque estas haciendo referencia a uno nodo que no es. este problema se da porque diferentes navegadores generan un orden diferente en la estructura DOM. por ejemplo, iexplorer no genera nodos de textos vacios cuando en el codigo fuente aparecen como caracteres en blanco: espacio, tabular, etc.
otra alternativa es tomar todos los links de una vez con getElementsByTagName y te quitas el aquel de tener que recorrer la tabla por los nodos. llamas la funcion asi
Código:
enlaces = document.getElementById("mi_tabla").getElementsByTagName("a");
y finalmente, quizas te interese el articulo
espacios en blanco en el DOM el cual habla lo que antes mencione y tambien presenta una solucion.