Hola,
[Información basada en groups.google.com/groups?hl=es&lr=&ie=UT…%26rnum%3D2]
Puede que el programa llame a la interrupción INT 2Fh para averiguar la presencia de Windows. Si es así podrías poner un hook que sustituyera la rutina que ejecuta esta interrupción por una tuya (no se si es posible en Windows NT/2000/XP).
Si mira en las variables de entorno %WINDIR%, %WINBOOTDIR%, and %WIN95% entonces podrías suprimirlas al ejecutar el programa.
Si mira si existe el programa c:\windows\system32\win.com entonces lo puedes probar a renombrar y después dejarlo igual.
La otra solución es crear un disquete de arranque MS-DOS y a partir de ahí ejecutar la aplicación. ¡Qué maravilla era el OS/2 Warp que permitía arrancar un disco de DOS dentro de OS/2 Warp (si no hubiese sido por otros fallos que cometió OS/2 Warp... otro gallo cantaría)!
Microsoft = malas imitaciones de otros sistemas operativos
Saludos,
Josep