Создали функцию, вызвали ее(п.2), переименовали функцию, но в действии вызова(п.2) она имеет прежнее название и следовательно не работает, вызываем функцию, которой нет. Можно сделать, чтобы она сразу и переименовывалась в тех местах, где ее вызываем.
У вас ID потока, в котором запускается асинхронная функция, находится в локальной переменной, она не может быть передана в другой поток. Используйте глобальную переменную для ID потока с функцией "GET_CODE".
Пример: threads.xml