A "lacuna" está bloqueada na expectativa de que alguém possa tentar inserir a linha que estou tentando excluir.
Ou, olhando de outra forma... Seria muito lento para lidar perfeitamente com cada caso estranho. Assim, o InnoDB escolhe lidar com a maioria dos casos de forma eficiente e aposta no raro caso excêntrico.
Resumindo:Viva com isso. Você vai obter impasses. Você não será necessariamente capaz de entendê-los. Mas seu código precisa se recuperar -- simplesmente revertendo e voltando para o
BEGIN
.