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 ^.^