Boa tarde Francisco,
Você pode e consegue abrir sua query, aproveitar a estrutura da mesma (dbStruct) para a criação da tabela temporária, porém você precisará fazer um while para copiar os dados e removendo assim o COPY TO, embora seja possível, não recomendo essa abordagem, você terá de refatorar o código ainda para remover o CriaTrab, ProcRegua etc.
Como trabalhamos muito com o legado, acabamos acostumando com os comandos ISAM, porém com a tabela temporária, podemos fazer as coisas de forma diferente, pois a mesma está no banco de dados, então não precisamos fazer a cópia de valores no servidor, podemos criar querys que permitem fazer a cópia no próprio banco de dados, exemplo:
INSERT INTO TABELA_TEMPORARIA (CAMPO)
SELECT CAMPO FROM TABELA_ORIGEM
Como você tem uma query, você não precisa mais abrir ela, você pode criar a tabela temporária com a estrutura necessária, e sua query na verdade vira um insert para a tabela temporária, esse processo tem um ótimo ganho de performance!
No artigo abaixo existem alguns exemplos de como trabalhar com a tabela temporária:
https://medium.com/totvsdevelopers/protheus-tabela-tempor%C3%A1ria-b2e955f43be4