Não tenho certeza do que está causando isso, mas alterar seu manipulador para o erro SQL mais específico pode funcionar neste caso
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET updateDone = 1;
Você pode tentar alternar com o if e o fetch
IF updateDone =1 THEN
LEAVE doUpdate;
END IF;
FETCH updater INTO Id, Elm, ElmParent, Type, Processed, Country;
isso garante que FETCH não seja executado caso o CONTINE HANDLER já tenha sinalizado que você está sem registros.
solução encontrada pelo menos aqui