En primer lugar, no hay un tipo de columna "SERIAL". Eso puedes verlo en el manual de referencia (
http://dev.mysql.com/doc/refman/5.6/...ger-types.html).
Eso puede causar el problema de que, como ambos tipos declarados en las diferentes tablas no coinciden, no se pueda crear la FK.
Una FK debe ser del mismo tipo de dato, rango y collation (si es de caracteres), que la PK de referencia.
Trata de usar tipos de datos naturales de MySQL, y no los declares con tipos pertenecientes a otros DBMS (para el caso INTEGER es INT).