Ese ejemplo esta mal.. a no ser que lo quieras asi.
Recuerden que PHP siempre se ejecuta antes que el html o el javascript... por tanto, primero se ejecutara HolaMundo() y luego se ejecutara el resto del codigo. Eso lo que en realidad hara es que el alert("<?php echo HolaMundo(); ?>"); sera en realidad alert("Hola Mundo"), ANTES de que siquiera el boton haya sido pulsado.
Lo que te hace falta es un ajax que llame al archivo y devuelva el resultado en tiempo real.
index.html <script type="text/javascript"> $("#btnMostrar").click(function(){
$.get("dato.php",function(data){ alert("Respuesta: " + data); });
});
<input type="button" value="Ejecutar Funcion" id="btnMostrar" />
dato.php<?php echo 'Hola mundo'; ?>
Saludos