I'm using [4.1.1a-alpha-max-nt].
My problem is I get
ERROR 1005 (HY000): Can't create table '.\foo\two.frm' (errno: 150)
where referencing a key defined using SERIAL PRIMARY KEY

The manual.html states:
"SERIAL can be used as an alias for BIGINT NOT NULL AUTO_INCREMENT UNIQUE. "

This following works, but when
( id bigint not null unique auto_increment primary key
is changed to
( id serial primary key
it stops working and causes
ERROR 1005 (HY000): ...


use foo;

drop table Two, One;

create table One
( id bigint not null unique auto_increment primary key
) type=innodb;

/* If table one has
* id serial -or-
* id serial key -or-
* id serial primary key
* I get
* ERROR 1005 (HY000): Can't create table '.\foo\two.frm' (errno: 150)
*/

create table Two
( id serial key
, one_id bigint not null
, index(one_id)
, foreign key (one_id) references one(id)
) type=innodb;

insert into One() values();
insert into One() values();
select * from One;

/* this should fail if FK constraints are working */
insert into Two(one_id) values(200);
select * from Two;