Se non ricordo male MySQL prevede diversi tipi motori, MyISAM (standard), innoDB, BSB...
Se definisci tabelle come ISAM non hai la possibilità di definire foreign key, come non hai la possibilità si usare modelli a transazioni in quanto non supportate.
Definizioni innoDB o BSB permettono sia foreign key che transazioni e hanno parametri specifici per lo startup del servizio e del motore.
Per quel che ricordo cercare di definire una relazione su tabelle ISAM non era consentito e generava errori, non vorrei che con versioni recenti il passaggio ad un engine che le supporti sia automatico ISAM->innoDB e che quindi venga abilitato anche il servizio con parametri particolari.
Come avevi definito le tabelle?? su che so??