Aha, I see what you mean. But I don't think the OP was having a problem with channel conflicts. Instead, they were having a problem with inconsistent device names. I can see how that would be really irritating if you save a project in your DAW where 'Moco for Lufa 1' is controlling some synth, but when you reload the project you have to edit it because that physical device now is called 'Moco for Lufa 2' and 'Moco for Lufa 1' is something else.
The basic problem is that the USB spec allows a manufacturer name and a device name, these are typically hardcoded in firmware and not user editable. So if you have two of the same device then Windows tacks on a number to distinguish them; and that number can change.
If you make two Arduino MIDI devices, say a keyboard and a set of drum pads, both using the same USB controller part, it would be better to be able to edit the device name to something meaningful like 'Super Padset' or 'Awesome Key61' or whatever.
However it looks as if you have to register as a manufacturer and get assigned some code. The values are not simple text strings.
Looking in the HIDUNNO source, Descriptors.c, I see:
.VendorID = 0x03EB,
.ProductID = 0x2048,
.ReleaseNumber = VERSION_BCD(00.01),
.ManufacturerStrIndex = 0x01,
.ProductStrIndex = 0x02,
oh but wait, later on I see
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
USB_Descriptor_String_t PROGMEM ProductString =
{
.Header = {.Size = USB_STRING_LEN(8), .Type = DTYPE_String},
.UnicodeString = L"HIDUINO"
};
that looks editable.