RE:¿como ejecutar un programa MSDOS?
Ejecutar un programa de DOS, es simple:
Utilizas la funcion Shell, el unico problema que tiene, es que es asincronico, lo que significa que visual basic no espera a que se termine de ejecutar la aplicacion para continuar, si no, que la ejecuta, y sigue con el codigo.
Si lo que necesitas es que sea sincronico, vas a tener que bajar hasta la altura de la api de windows.
En cuanto a capturar el resultado, creo que no existe forma alguna, pero si podes obligar a la aplicacion a que vuelque el resultado en un .txt, y vos lo lees despues.
Por ejemplo:
para ver el resultado de : Type c:\autoexec.bat
hace lo siguiente:
Shell("type c:\autoexec.bat > tmp.txt")
Suerte