Cuando haces str_replace("\n","<br>",$anuncio) estas reemplazando el caracter de nueva línea, pero creo que el error esta en que el salto de línea se construye con un caracter de retorno de carro (\r) y luego si el del salto de linea (\n). Probá de esta manera:
Código PHP:
<?
$anuncio="Esto es
un anuncio
de prueba";
$nuevo_anuncio = str_replace("\r\n","<br />",$anuncio);
echo "var anuncio='$nuevo_anuncio'";
?>
Saludos.