Tente passar para o servidor como usuário e executar o arquivo em lote. Você provavelmente verá o erro.
Eu tive um problema semelhante com o arquivo de lote sendo executado normalmente, mas não com o 08 R2 Task Scheduler. Ele seria executado se "Executar somente quando o usuário efetuou login", mas não quando "Executar se o usuário está conectado ou não".
Descobriu-se que algo estava tentando acessar unidades por letra de unidade. Eu não tenho certeza se isso foi programado diretamente ou 08 estava tentando ser inteligente e converter o caminho UNC para uma unidade mapeada. Meu arquivo ini para o programa só tinha caminhos UNC. Obviamente, letras de unidade não são mapeadas quando o usuário não está logado ..
Acabei tendo que mapear a unidade no arquivo em lote com credenciais (ela não passa). Então funcionou.
Isso pode ou não ser um problema semelhante para você.