По логике, если нужно различать два одинаковых устройства, то у них должны быть разные VID и PID, да. С другой стороны, достать название из Flash-памяти проще и отпадает необходимость покупать PID

C Вистой не работал, поэтому не знаю, можно ли как нибудь получить это имя через родителя; вполне возможно что да. Только способ этот будет не намного проще описанного Вами, имхо.
А без сертификации драйвера обойтись сложно, - не дебажным же ключом подписывать его.