pues la verdad no se en que exactamente no te funciona porque a mi me trabaja. en todo caso, puedes usar expresiones regulares para buscar todas las instancias de un texto o patron, asi te evitas el bucle. tambien los caracteres de linefeed lo puedes escribir con escape.
Código:
texto.replace(/<br>/g, "\x0D\x0A");
// no creo necesario escribir los dos caracteres, con "\n" puede ser suficiente;