The device identifies with an id, the plugin first tries to get the id from the available com ports.
(Ports where the device was previously found are tried first.)
The id must match the id for the device.
You can use the GS-Sport device to autodetect from the id, gives the same result as selecting the specific device directly.
It is possible to add devices without rebuilding the plugin, see here:http://code.google.com/p/globalsat-sporttracks-plugin/wiki/Features#Unknown_devices
The same identification is done both when reading and writing activities. The protocols are not exactly the same so there are to some extent separate implementations. I have spent a lot of time unifying the code but it is still quite complex, you often have to change many paths for a single change. The protocols are more complicated then necessary and the documentation is incomplete and incorrect. You have to guess some when implementing.
So I am not surprised that there are problems where I cannot test. A user/developer with a 625M is needed.