My batch mystery solved, thanks to some tech-heads over at GRC (Gibson
Research) newsgroups.
Turns out that while I -thought- that the desktop shortcut was running
CMD.EXE, it was actually running COMMAND.COM - big difference, especially in
the way it handles long file names, especially when those long filenames
contain embedded spaces.
Back in the early winders/dos days, we had to modify config.sys to expand
the default environment size, since our batch files used extensive
environment variables. The way to do that was to specify a
shell=command.com with an /e

switch to increas the environment size. This
held over in the move to Win 2k/XP and we never really gave it much thought,
but that meant that all command prompts were NOT running CMD.EXE, hence the
problem.
Solution: REMmed out the shell= line, and BINGO, DOS apps still work, and
now the batch file works from command prompt, from shortcut, and when called
from within a 16-bit Windows app.
I'm sure this tid-bit will be very useful for each and every one of you.