the mission template from before it was broken is identical, so it's not the template
however, those 4 lines actually correspond to 4 constants used to assign some siege stuff, specifically:
common_siege_init_ai_and_belfry = (0, 0, ti_once, [ (call_script, "script_siege_init_ai_and_belfry") ], [])
common_siege_move_belfry = (0, 0, ti_once, [ (call_script, "script_cf_siege_move_belfry") ], [])
common_siege_rotate_belfry = (0, 2, ti_once, [ (call_script, "script_cf_siege_rotate_belfry_platform") ], [ (assign, "$belfry_positioned", 3) ])
common_siege_assign_men_to_belfry = (0, 0, ti_once, [ (call_script, "script_cf_siege_assign_men_to_belfry") ], [])
lav moved the definitions of those to another file, but as far as i can tell, they are actually identical. by changing that number, it appears you are perhaps changing the script that it calls, which would imply it just outright breaks, though. so i don't know why that fix works.