in the step event when the ovendeur is 0 and the pizza done is 1 then you set alarm 0 to 30.... each step... so this means the lowest it gets is to 29 before its reset to 30... try the following instead
if obj_ovendeur.image_index != 0
and obj_pizza_done.image_index != 1
starttime = true;
alarm = 30;
image_index = time_left;
edit: do note that this prolly wont fix your problem but it will help you better understand alarms... you ought to figure out another way to code it.