Jag stötte på samma problem med HeidiSQL. Felet du får är mycket kryptiskt. Mitt problem slutade med att kolumnen för främmande nyckel och referenskolumnen inte var av samma typ eller längd.
Kolumnen för främmande nyckel var SMALLINT(5) UNSIGNED
och den refererade kolumnen var INT(10) UNSIGNED
. När jag gjorde dem båda exakt av samma typ fungerade skapandet av främmande nyckel perfekt.