To be honest with you, I have never researched the issue in depth, but some apps just don't play well with .Exec. I suspect that it has to do with the way the app handles StdOut. For situations like this I just pipe the output to a temp file in the command then read the file contents and delete the file.
Some applications are designed to detect redirected pipes and quit or other things. Runas and Net Use come to mind. They don't like their pipes being redirected.