Finalmente consegui resolver o problema. O problema estava com a autoridade do usuário. O script em lote deveria criptografar um arquivo e depois enviar o arquivo criptografado para o servidor FTP do fornecedor.
Aparentemente, no Windows Server 2012, os ADMINISTRADORES têm permissão para criar um arquivo (aqui o arquivo criptografado) enquanto esse usuário não tiver permissão para enviá-lo. e usuário do sistema tem a permissão para enviar, mas não para criar. (Ambos tinham essa autoridade no Win Server 2008).
daí o que eu fiz no final, foi fazer duas tarefas de script em lote diferentes e programá-las com 10 minutos de distância. O primeiro foi executar o código acima com privilégios ADMINISTRADOR e o segundo estava enviando-o com SYSTEMS.