Не съм сигурен какво причинява това, но промяната на вашия манипулатор към по-конкретната SQL грешка може да работи в този случай
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET updateDone = 1;
Може да опитате да превключите if и извличането
IF updateDone =1 THEN
LEAVE doUpdate;
END IF;
FETCH updater INTO Id, Elm, ElmParent, Type, Processed, Country;
това гарантира, че FETCH не се изпълнява в случай, че CONTINE HANDLER вече е сигнализирал, че нямате записи.