mettelus
There have been reports of hardware with identical IDs (2 identical MIDI controllers) being only seen as one and I forget offhand if there was a workaround for this. Are you seeing 2 separate C4s in CbB preferences or only one?
IIRC, Bob Bone had a thread about this several months ago.
I'm using the older MIDI based C4, so there's definitely two listed.
However, you may be on the right track....
I've only just started looking into this, but looking at the Cakewalk Mackie Surface SDK code, each Mackie device registers itself as it is loaded, and gets added to a list of devices in a common structure. The way the MackieControl.dll knows which unit is which within this list is by serial number. The SYSEX query to retrieve the serial number is (at least in the code) common to all units - i.e. the same sysex message for MCU,XT,C4.
My current theory is that the C4 has a different sysex query, meaning that the C4 ignores this query and the MackieControl.dll never gets the serial number back, and the two C4's end up with indentical blank serial numbers.
I've not got access to the C4's sysex commands, so there's no way to quickly check if my theory is correct, but I can probably prove my theory by giving each C4 a random serial number to start with.
[Update] - It's definitely not the serial number, this is coming back fine from both devices and they're different. Changes on the 1st C4 are no problem at all. Making any changes on the 2nd C4 causes a crash shortly afterwards (i.e. 1 to 2 seconds later).