There are two advantages of using WSH's Run method: you can delay the script until the program finishes, and you can control the window attribute (hidden, min/maximized etc). But you can't retrieve the program's output during or after the execution in this way.

There's a Standard Input/Output Interface DLL made by DragonZap that allows mIRC to receive a program's output and analyze it before sending further inputs. Although this DLL is somewhat outdated it can still become useful.