I'm not sure DOSBox is able to competently open some random executable file. One would have to make a config file that sets up a drive mapping, runs the file, and quits. If Wine can do these things (and maybe also properly handle cases where the COM executable expects to be run on a windows machine or, say, a dos machine with win3.1 installed), it seems like a fine choice to me.
There's a non-zero chance that wine start /unix will actually start cmd and make a terminal for BAT files. It makes one for console executables. If it doesn't, there's a possibility that start.exe will do that on Windows, in which case that is a Wine bug that we should fix. You should test that before making a new thing.
There was some talk on #mono (or #monodev) to the effect that the arbitration mechanism for different kinds of files is called mime types, and a DOS exe, x86/x64 PE exe, and CLR exe are all different and should have different mime types.