Заобиколно решение, намерено в http://bugs.mysql.com/bug.php? id=6980 , което работи за мен, е да създам псевдоним към подзаявката, която ще върне елементите. Така че
delete from table1 where id in
(select something from table1 where condition)
ще бъде променен на
delete from table1 where id in
(select p.id from (select something from table1 where condition) as p)