Une solution de contournement, trouvée dans http://bugs.mysql.com/bug.php? id=6980 , qui a fonctionné pour moi consiste à créer un alias pour la sous-requête qui renverra les éléments. Alors
delete from table1 where id in
(select something from table1 where condition)
serait changé en
delete from table1 where id in
(select p.id from (select something from table1 where condition) as p)