Нашел решение проблемы, суть была в том, что в двух функциях, совпадали метки, только сейчас понял, что метки имеют глобальное значение, а не локальное. Спасибо форуму!
результата я не жду - мне просто надо было чтоб отработала функция, я добавлял логи на всех стадиях, до вызова if и после. Лог после ифа уже не выводится но и Api.Restart() не срабатывал. И поток не завершался, как обычно.
Да, я понял куда смотреть, спасибо.
Получается сам тупанул, через код запустил(оно соответственно зависло), а не через встроенные языки. Благодарю за консльутации, про кнопку благодарности не забыл)))