Hola otra vez:
La forma que te comenté a mi me funcionó, aunque sin usar tablas... bueno, no importa... lo que quería es decirte un método que puse en las FAQs que es muy sencillo para reemplazar subcadenas de un texto, y es combinar el método split con join, y adaptado a tu caso sería así:
function nl2br(texto) {// ese nombre es en PHP
return texto.split(/\n/).join("<br>");
}
No sé como lo habías implementado, pero parece imposible hacerlo de manera más sencilla...
No lo he probado, pero tiene que funcionar...
Saludos