По правилам Windows каждое Plug and Play устройство должно иметь уникальный строковый идентификатор Device instance ID
http://msdn.microsoft.com/library/en-us/De....asp?frame=true Формат строки Device instance ID следующий:
<device-ID>\<instance-specific-ID>
где в случае USB устройства
<device-ID> = USB\VID_XXXX&PID_XXXX&REV_XXXX
а
<instance-specific-ID> = строке, полученной из строкового дескриптора c номером iSerialNumber.
Если такой дескриптор не найден или iSerialNumber = 0, то строку <instance-specific-ID> формирует
PnP manager на основе данных USB хаба, к порту которого подключено устройство.
Что происходит в Вашем случае:
Устройство с CP210x имееет серийный номер ( строковый дескриптор с номером iSerialNumber <> 0) SSSS и его идентификатор
Device instance ID = USB\VID_XXXX&PID_XXXX&REV_XXXX\SSSS
независимо от хаба и номера USB порта.
Устройство с PL-2303 не имеет серийного номера и его идентификатор в общем случае
Device instance ID = USB\VID_XXXX&PID_XXXX&REV_XXXX\HUBID&PORTN
где HUBID - идентификатор хаба и PORTN - номер USB порта, к которому подключено это устройство.
Т.е. идентификатор устройства с PL-2303 зависит от порта, к которому оно подключается.