The cmd.exe shell (being a textual shell) would not have used an "error window" to report an error. That would be the work of the executable "xyz.exe".
I'm not clear about the $> &xyz.exe
in you description. First, that looks like a DOS prompt, not a PowerShell prompt. Second, the ampersand in PowerShell is a "call operator" and runs the "thing" in a child scope, so once "xyz.exe" ends the results are gone. Provided xyz.exe is in your PATH directories you should be able to run is simply by entering "xyz.exe".