oddball custom 386 base pc with MS Mobile Embedded in ROM on the board.
Was the ROM embedded into something else?
Code emulation is the next step, for generic cases, special ones are special ones.
DOS and 16bit Windows code can be emulated today without any problems.
The generic problem is obsolete hardware that is controlled directly by the software using I/O commands.
Some motherboards without ISA slots are still ISA, there PS/2 connectors are not enough but serial and/or parallel port is pretty close.
You can also add a PCI to ISA bridge card and have your hardware supported but old software is still locked.
There you possibly have a completely supported environment but new bridge driver and running emulator may not compute.
Final answer is Linux, its DOS emulator can support those I/O commands.
There are still cli/sti style stuff but I've heard the system works.
Not so long ago I bumped into INT 34h and the likes of Turbo C, it's a DOS era x87 emulation system.
There supporting compiler generates a code that will be replaced in case of actual x87 being present, means that first round is slow but interrupt modify its presence away and then from that on the actual x87 command is executed.
Modifying I/O commands is trickier since they are native, short and not meant to be anything else, so replacement is not an option.
But nowadays exceptions are generated, there program execution is completely rerouted so problem solved.
Until it's not, that exception must be handled and that handler is not very usually working, if even implemented.
M$ case is clear, old software is not fully supported.
Are GDI printers still around?