Muy majo tu código, taar.
La instrucción innerText "limpia" el contenido de la celda, dando sólo el texto, mientras que innerHTML incluye códigos HTML si los tiene.
La cosa es que innertText sólo funciona en Internet Explorer y no en Mozilla, Firefox etc.
Se podría como solución provisional:
Código:
if (celda.innerText) { alert celda.innerText }
else { alert celda.innerHTML }