, поместил себе свой код, проверил - работает... Попробуй убрать (ge, ":sub_z", 0), # и проверь, убрано ли (neq|scene_prop_is_animating, ":head_instance").
(0, 0, 0, [
(scene_prop_get_num_instances, ":count_of_head", "spr_skeleton_head"),
(try_for_range, ":cur_head", 0, ":count_of_head"),
(scene_prop_get_instance, ":head_instance", "spr_skeleton_head", ":cur_head"),
(prop_instance_get_starting_position,pos3,":head_instance"),
(position_get_z, ":z", pos3),
(prop_instance_get_position,pos1,":head_instance"),
(position_get_z, ":cur_z", pos1),
(store_sub, ":sub_z", ":cur_z", ":z"),
(try_begin),
(lt, ":sub_z", 100),
(position_move_z, pos1, 1000),
(prop_instance_animate_to_position, ":head_instance", pos1, 500),
(else_try),
(ge, ":sub_z", 900),
(position_move_z, pos1, -1000),
(prop_instance_animate_to_position, ":head_instance", pos1, 500),
(try_end),
(try_end),
],
[]),