Muchas gracias.. lo hice con ShellExecute y la aplicación se ejecuta sin verse, pero ahora tengo un nuevo problema.. hacer que el primer programa espere a que termine el programa que llamo con shellexecute antes de seguir con la próxima instrucción.
Por eso yo había usado en primer lugar la función spanl, que me permite esperar a que la otra aplicación termine, pero no evitar que se vea. Y con shellexecute logro ésto último pero no lo de esperar..
Bueno, si alguien tiene alguna solución se lo agradecería, y perdón si la estoy haciendo muy pesada la cosa..