5.5.35+dfsg-2 (Debian jessie). I also tested 5.1.73-0ubuntu0.10.04.1 (Ubuntu 10.04.4 LTS) - same behaviour:
[...] mysql> create table test(id int(11) not null, parent_id int(11) not null, primary key(id), key fk_parent (parent_id), constraint fk_parent foreign key(parent_id) references test(id) on delete cascade) engine=InnoDB; Query OK, 0 rows affected (0.01 sec) mysql> insert into test values (1,1), (2,1), (3,3); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> delete from test where id=3; Query OK, 1 row affected (0.00 sec) mysql> delete from test where id=1; Query OK, 1 row affected (0.01 sec) mysql> select * from test; Empty set (0.00 sec) mysql> drop table test; Query OK, 0 rows affected (0.01 sec) mysql> Bye
Without "on delete cascade" nothing can be deleted.