It might be possible, since this is acting like a keyboard, to have a small database set aside to do one thing - but do it forever - and that is to read the data stream from that COM port. It is possible to do file I/O to an asynchronous port with no timeout. So build TWO unequal front ends for a common back end. The monitoring FE has one form that opens on launch and connects to the COM port with a READ and, as soon as the read is satisfied, you insert a record into a temp table after which you IMMEDIATELY jump back to the READ. If you can open the COM device as a device then you aren't stuck with having the database always be visible and always have focus. That kind of thing CAN run in the background as long as you code the loop correctly.
Put a Timer on this form for, say, 1 minute (60000 milliseconds, because that's the timer unit). Have another table in the BE that contains a single record, control status, that is controlled from the more general FE. You would use this to update the control record to say "Shut Down" or whatever code you want to use to tell it to shut up already. On being given the signal through that shared status table, your listener FE could just close the form and exit/quit.
The general FE is the one that you use to examine data, build reports, etc. but it talks to the same BE as the "listener" FE. Variations on this theme might include having a temp table for data input and you only feed data from the device to the listener table. But when you run the general FE, you can "harvest" the listener table to see what has come in since you last ran the general FE.