Haciendo de nuevo las pruebas, concluyo:
* Previo (tablas iniciales): * Funciona:
Cuando la consulta de las llaves foráneas se hace en conjunto.
Ya sea creando la tabla:
O modificandola:
NOTA: es indiferente dónde se cree la llave primaria (en consulta aparte o en la misma).
* No funciona:
Modificando las llaves foráneas por separado:
Por lo tanto
tampoco funciona por la interfaz gráfica de phpMyAdmin ya que en la misma para estas acciones siempre usa la consulta que las modifica por separado.
¿Por qué?
Eso es lo que no sé, pero como el problema está resuelto lo marco como tal.
Cita: gnzsoloyo, eres muy amable en responder estas preguntas en los foros (he visto muchas de tus respuestas), y estructuras las mismas de forma muy clara... pero te comento, solo si lo quieres tener en cuenta (no para discutirlo), no eres nada amable en la forma como respondes, da la impresión de que regañas, que te las sabes todas y mereces un busto, y por más útiles que sean tus respuestas, y por más conocimiento que tengas, lo agradable de un foro es que quién responde no solo siempre está dispuesto (un foro es eso, un mundo de dudas), no solo comparte todo lo que sabe, lo hace porque le gusta y en definitiva suelen ser muy amables, al menos en las primeras respuestas, sobre todo con los novatos, algo que todos somos o fuimos. A pesar de esto, no quiero prejuzgar sin conocerte, mas bien agradecerte por la rapidez con la que respondes. Espero que no te lo tomes a mal y que pena contigo haber planteado así el problema, entiendo que no fui claro.