Nejsem si jistý, co to způsobuje, ale změna vašeho handleru na konkrétnější chybu SQL by v tomto případě mohla fungovat
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET updateDone = 1;
Můžete zkusit přepnout if a fetch
IF updateDone =1 THEN
LEAVE doUpdate;
END IF;
FETCH updater INTO Id, Elm, ElmParent, Type, Processed, Country;
tím je zajištěno, že se FETCH neprovede v případě, že CONTINE HANDLER již signalizoval, že jste mimo záznamy.