Они не зависнут, а будут ждать, когда отработает таймер. И после этого:
IF Time_wash_rise_water.Q=TRUE
THEN V101:=FALSE;
M1:=FALSE;
V111:=FALSE;
wash_rising_water:=FALSE;
V100:=false;
END_IF

...все переменные обнуляются.

Вопрос в другом: почему этот код без проблем работает на симуляторе, а на железе ведет себя не пойми как?