a mi me pasa algo similar, tengo el pack "apache friends" con aopache, php, phpmyadmin y mysql. Segun el manual a partir de la version 5.0 ya se pueden hacer claves ajenas "foreign keys". Yo lo hice y no me respetaba, sobre todo en las actualizaciones qwue era lo que me interesaba. He investigado y parece ser que hay que tener el motor "InnoDB" en mysql. y parecer ser :) que al instalar el pack no puse lo de inndb...
sigo investigando...
http://dev.mysql.com/doc/refman/5.0/...nstraints.html
CREATE TABLE parent(
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child(
id INT,
parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE
) ENGINE=INNODB;
http://dev.mysql.com/doc/refman/5.0/...nstraints.html