Nie jestem pewien, co to powoduje, ale zmiana obsługi na bardziej szczegółowy błąd SQL może w tym przypadku zadziałać
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET updateDone = 1;
Możesz spróbować przełączyć if i pobrać
IF updateDone =1 THEN
LEAVE doUpdate;
END IF;
FETCH updater INTO Id, Elm, ElmParent, Type, Processed, Country;
zapewnia to, że FETCH nie zostanie wykonane w przypadku, gdy CONTINE HANDLER już zasygnalizował, że nie ma żadnych rekordów.
rozwiązanie przynajmniej tutaj