http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.isopen(v=vs.110).aspx[
^]
The IsOpen documentation states, "The IsOpen property tracks whether the port is open for use by the caller,
not whether the port is open by any application on the machine."
I guess you'll need to find another way to tell.
I know with UDP ports, years ago, the only way I could tell if they were in use was to try and open one and if I got an exception it meant another app had it open. Perhaps serial ports have something similar.