Здравствуйте, Alex_yu. Поглядели мы вашу программу. Честно, развели руками. Обмен делать в графических языках не то что бы неудобно, сложно и тяжело отлаживать, но я бы назвал и не верным подходом.

Рекомендую вам переписать проект на ST, благо примеры есть и на форуме и на дисках.
Очень вам советую использовать оператор CASE, выполнили опрос, получили ответ, перешли в новый статус, сделали следующий опрос. Просто, наглядно и обмен по циклам распределяете.

Разбирать программу такого плана как у вас сложно и очень долго. Скорее всего где-то идут коллизии. Т.к. сам в свое время пытался на графических языках сделать, через пару часов мучений просто "забил"!