Lo que pasa, por lo que observo, es un tema del orden en que vas ejecutando tu query pues redefines el valor de la variable $sql
Código PHP:
$sql="SELECT * FROM musica2 m, generos g WHERE m.id = g.id";
if(!mysql_query($sql)) echo mysql_error();
$sql = "select *from musica2 where id=$id"; //Aqui ya se perdio la referencia a Generos
$res = ejecutar($sql,$idc);
$fila = getRegistro ($res);// $fila solo tiene los valores de la tabla musica2
Revisa bien el uso de tu variable $sql. O bien define otra variable para obtener los valores de generos.
Saludos.