Check the security context (ie login account) in which your batch + script runs on the remote machine. It might be different to your manual test.
Apparently, you can start a command session on the remote machine, so you could check security context this way.
C:\>beyondexec \\neptune
BeyondExec V2.05 - Spawn Remote Processes on Windows NT/2000/XP WorkSt
+ations.
Copyright(C) 2002-2003 Craig.Peacock@beyondlogic.org
[neptune] BeyondExec service already installed on remote machine.
[neptune] Command Successfully Issued to neptune on Pipe 1.
[neptune] Process started, ProcessID = 1444, ThreadID = 1440
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\Winnt\System32>whoami (or net view, etc)
etc...