Solusi, ditemukan di http://bugs.mysql.com/bug.php? id=6980 , yang berhasil bagi saya adalah membuat alias ke sub kueri yang akan mengembalikan item. Jadi
delete from table1 where id in
(select something from table1 where condition)
akan diubah menjadi
delete from table1 where id in
(select p.id from (select something from table1 where condition) as p)