I believe the problem to be that the software and hardware do not agree on the com port address to access. The standard for COM1 is 03E8 hex and interrupt 4. If Windows is using a different address or interrupt and the software is direct accessing the hardware (rather than go through Windows' HAL (Hardware Abstraction Layer), the two will never meet.
Are you sure that COM1 is indeed the external port? Many computers come with the hardware com ports disabled for ease of configuration at the factory (one less thing to worry about). That com port isn't for or connected to the modem, is it? Check your modem properties to make sure.
Then check the com's properties to make sure it is 03E8 and IRQ 4. If not go into the BIOS, usually 'Intergrated Peripherals' and reset the com to the above specs. Now, doing so hopefully will not cause a conflict with any other devices - if so, you will have to work that out later as well.
Then check the software for any com hardware settings and match them up.
Now, Windows 2000 uses different interfacing to the coms as MS-DOS support is no longer available - meaning if the program you are trying to use is communicating to the com ports via DOS I/O calls those calls will fail. Use a different program.
If you are using a program like Palm's QuickSync it holds the com port handle and will not release it to other programs. Shut anything like that down.
Hope I gave you some ideas to check, and I hope these work for you. Your mileage may vary...