#1 is this program using VESA to access the graphics? If so you might need to get an updated driver for DOS from it and run it before you run the program so it can hook into the video card better.

#2 If you have the source code to the program, you might want to try to convert it to Virtual Pascal or Delphi for Windows and remove the direct video access with Windows calls. It might work better on Windows machines if you do that. Of course this will take a bit of work, but it will yeild a more Windows compliant program.

#3 What memory settings are you using for it? Any EMS memory required? Are you excluding any upper memory addresses in your DOS and Windows configurations? Usually I see Video Adapters using C000-C7FF for some upper memory tasks, and sometimes E000-EFFF for a whole 64K block of upper memory. Something in DOS memory might be trying to use these addresses.

#4 When in danger, when in doubt, run a virtual machine like Bochs. [link|http://sourceforge.net/projects/bochs/|http://sourceforge.net/projects/bochs/] you can run FreeDOS or some other DOS under it and while it runs slower, it might actually run your TP program if Win2K cannot.