Like John, I would also go with a Windows Service for the COM1 port -- create some form of API to allow reading and setting of the device parameters and expose this through something like WCF (as this is relatively simple to code in .NET and allows the most flexibility of how you expose the methods).

Then you have a centralised service that you can access through a WinForms app, from a DLL plug-in in a 3rd party app, of from anywhere else you can think of in the future depending on how you expose the endpoints.

I always used to enjoy controlling devices through code (when I used to get to do that sort of thing), is it an interesting device?

Herbie