Entonces es posible que el javascript generado sea incorrecto. Mira con "Ver codigo fuente" en el navegador el javascript generado. Puede que el contenido del href deba ir entre comillas (en este caso simples).
Cuando quieras sacar tanto HTML/javascript con pocos valores PHP, en lugar de usar un monton de print (o echo), creo que es mas claro usar la sintaxis HEREDOC o tambien sacar el HTML/javascript del codigo y meter el codigo PHP dentro del HTML, por ejemplo:
Código PHP:
<a href="javascript:window.open('<?php echo $mensaje[4]; ?>.html' ....
Saludos.