This turned out to be a very strange case. I still don't understand why it worked on my system and not my client's. Neither of us had any spaces in the path name. IAC, we ended up working around the problem by storing the full paths and file names of the source and target into variables, then macro substituting the names in the COPY FILE command.
So, instead of saying:
COPY FILE (tcCustPath+"NextPKey.dbf") TO (lcSubDir+"NextPKey.dbf")
we say:
lcSource = tcCustPath+"NextPKey.dbf"
lcDest = lcSubDir+"NextPKey.dbf"
COPY FILE &lcSource to &lcDest
And for some reason, that works.