...and if you press a button, a baggy drops out full of null modems, gender changers, level shifters, diagnostic LED blocks, a wrench + diagonal cutter for inappropriately placed nuts, and a male and female 0.1" header adapter.
Tellya what, on my old Toughbook I had done a shit-ton of modding, and when I removed the 56k modem, I repurposed the RJ11 jack on the side to bring out an internal (TTL-level) serial port from the CDPD module connector. With some inline resistors to current-limit any stupidity I might get myself into.
Then in my bag, I carried an RJ11-to-female-headers cable, and a handful of jumper wires of various genders and a handful of minigrabber clips. And a butane-powered soldering iron, because you never know.
It was no Novena, for sure, but just having a TTL-level serial port made that a hell of a hacking machine. This was in the heyday of the WRT54G and similar, and I can't count the number of console ports I invaded with no more hardware than a wisp of wire.
Some old UPSs and industrial machinary use RS232 connections. This can be solved by other means (e.g. USB to RS232 adapters), but virtual com ports are not helpful there.
I use virtual comports (with an FTDI adapter) every day to control industrial instrumentation, and I'm honestly curious to know specifically why they are not helpful in your case, so I can be prepared in case any of my clients experience the same issues.
Does your equipment require the higher voltage levels (I don't remember the last time I saw any that required the full 12V), or do you need all the handshaking lines, or is it a timing or latency issue?
Our assessment was that latency would be a problem for $client. Eventually, it turned out the "just throw ancient hardware at it until it dies" was far more efficient then going along with it.