No estoy seguro de qué está causando esto, pero cambiar su controlador al error de SQL más específico podría funcionar en este caso
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET updateDone = 1;
Puede intentar cambiar el if y el fetch
IF updateDone =1 THEN
LEAVE doUpdate;
END IF;
FETCH updater INTO Id, Elm, ElmParent, Type, Processed, Country;
esto asegura que FETCH no se ejecute en el caso de que CONTINE HANDLER ya haya indicado que no tiene registros.
solución al menos encontrada aquí