Me respondo solo, al releer el mensaje que os escribia me he dado cuenta del problema. Está en la función select_combinado, al "repintar" el select olvidé poner el onchange
Bebería quedar así:
Código PHP:
function select_combinado($nombre,$titulo,$consulta_creada){
$nuevo_select = "<select name=\"".$nombre."\" onchange=\"xajax_generar_selects_a_partir_de_".$nombre."(this.value)\" size=5>\n";
$nuevo_select .= "<option value=\"0\" selected>" . $titulo . "</option>\n";
include "conexion.php";
$consulta_sql=$consulta_creada;
// print ($consulta_sql);
$result=mysql_query($consulta_sql,$conexion);
while($row=mysql_fetch_row($result))
{
$nuevo_select .= "<option value=\"$row[0]\">$row[1]</option>\n";
}
$nuevo_select .= "</select>";
return $nuevo_select;
}
Gracias y lo siento