This could be the problem with Windows 98 power saving. Windows 98 starts up and the com ports are switched on. It save this info, loads Windows and the power saving turns the ports off. You load a DOS app and Windows returns the origional status, ie port is on, while in fact it's off.
You could turn power saving off in the BIOS, but this can allow AMD Athlons/Durons to run hotter, ACPI issues a stop on the CPU rather than a pause in an idle state and this can cool the CPU by 3-4Deg C.
There is a registry hack:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VCOMM change it from 01 00 00 00 to 00 00 00 00