I just wanted to let you all know that after leaving this project alone for a bit, I have now made sufficient progress to be able to justify calling the project a success! (Despite the protocol violations of specifying that endpoint 2 use bulk transfer on a low-speed device).
If anyone is interested, let me know, and I'll post the current project here.
It still won't work under Linux, presumably because of the above mentioned protocol violations.
To summarise: Under Windows 2000 (and presumably XP), the project uses Windows' own usbser.sys to provide a virtual COM port. It is implemented on a JB16. A very basic .inf file is needed to complete the installation.
Next up, to consider converting this code to work on the JM32/JM60 high-speed device.