Uma solução alternativa, encontrada em http://bugs.mysql.com/bug.php? código=6980 , que funcionou para mim é criar um alias para a subconsulta que retornará os itens. então
delete from table1 where id in
(select something from table1 where condition)
seria alterado para
delete from table1 where id in
(select p.id from (select something from table1 where condition) as p)