I think we can assume that it will keep working in future versions of cmd.exe, as MS won't break backwards compatibility here, and it seems to be a consequence of documented parsing rules.

But yes, it would be great to just skip the shell.  I don't think we should replace it either.  Lisp should always pass an argument list when creating a process.