Pues te dire que probe el codigo que pusiste en el post (claro corrigiendo los errores que tenia), y funcionaba y controlaba las restricciones, aqui te dejo el codigo:
Código PHP:
CREATE TABLE Familia(
codFamilia INT NOT NULL,
nombre varchar(15) NOT NULL,
PRIMARY KEY (codFamilia)
) ENGINE=INNODB;
CREATE TABLE Articulos(
codArticulo INT NOT NULL,
codFamilia INT NOT NULL,
nombre VARCHAR(30) NOT NULL,
descripcion VARCHAR(100) NOT NULL,
precio FLOAT NOT NULL,
PRIMARY KEY (codArticulo),
INDEX iCodigoF (codFamilia),
FOREIGN KEY (codFamilia) REFERENCES Familia(codFamilia) ON DELETE CASCADE
) ENGINE=INNODB;
ahora tal vez el problema radica en que no tienes habilitado el motor innodb, por que no haces un:
Código PHP:
mysql> SHOW CREATE TABLE FamiliaG;
CREATE TABLE `familia` (
`codFamilia` int(11) NOT NULL,
`nombre` varchar(15) NOT NULL,
PRIMARY KEY (`codFamilia`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
con eso veras si realmente se crearon las tablas como InnoDB, saludos, suerte, cya