The tone of your words is rather mocking. Consider that your app runs on a non-DOS system, period. That fact alone is remarkable to some extent. I will suggest that the problem is not Windows 2000, but a lack of understanding on how to configure the OS.
W2k has very good DOS support, better than NT anyway - and that is progress. Would it surprise you to know that W2k uses .pif files and will allow you to configure separate autoexec.bat and config.sys files for each and every DOS program? Further will allow you to load TSRs that the program needs to function? Right click on the program file and take a look at the tab titled Program. Click on the Advanced button to see that you can configure setup files. I will note that by default, W2k uses a blank autoexec.nt and config.nt file when you launch any DOS program, and uses the same two files for every DOS program. Try copying the Win98 startup files to their own folder in W2k and point the program to use those startup files. They might just resolve your problem, but they might need some tweaking.
I would suggest doing this on a test machine first. If you have any questions, please let us know. Tao is the mobius. The ribbon of heaven and earth, you cannot lose your way.