This is where I have to come clean and admit that I did not fully understand the model of how Presentation Server works related to Com Ports. It turns out that doing a NET USE against a client COM port will automatically attempt to use the new way.
NET USE COM1: \\CLIENT\COM1:
This command is like saying that I want to get access to COM1 and I really don’t mind if it is being done the old or new way. Internally, the provider code (cdmprov.dll) is checking to see if the COM port supports the new interface. It if does, it uses it by assigning CLIENTPORT to the name in the symbolic link that is used to open the device within the CDM redirector driver. If it cannot find the new interface, it will just go back to using the old interface.
So, I was wrong about how CPS does this externally but not internally.
Given this new news, now I have to go back and make PortICA more like CPS with the naming conventions for the NET USE.
This should not be a big deal since it will be all about changing our provider to be smarter about the COM ports so that it will do all of this automatically. The biggest hassle is enumerating the COM ports which it does already.
Sorry for the confusion. Just think of this as a journey shared through the inner workings of Client Device Mapping.
Thanks to Marco in Citrix Sydney for pointing this out.