A medida que JavaScript se va ejecutando, busca $('#add') y le asigna un evento AL HACER CLICK., busca $('#prueba') y no encuentra ninguno PORQUE NO EXISTE TODAVIA y busca $('#prueba2') lo encuentra y le asigna el evento. Luego tu al hacer click creas prueba.
Orden de operaciones!! Si pones alert($('#prueba').length); verás como dice que hay cero, porque no existe.
Código PHP:
Ver original<?php }
?>
tds += '</select></td></tr>';
$("#mitabla").append(tds);
// }); ESTO QUITALO
//Esta función si me entra
$("#prueba").click(function(event) {
alert("has pulsado el select estatico");
});
}); // PONLO AQUI ABAJO
Ves la diferencia, los eventos los tienes que asignar cuando ese elemento exista, no antes ^.^