I always thought it was interesting that DOS shell scripting requires a command to make calling another program return to the original script

IIRC, 'call' was only added in DOS 4.0. I guess that stacking the context of the batch interpreter was too much effort. And, yes, it didn't run a fresh shell for each batch file -- they used to be (still are?) run by the current shell instance.

Frankly, if you need to do this kind of thing on Windows, get Cygwin. If you need to do it on DOS, get MKS (if that still exists?).
_________________________
-- roger