Hi Mike
Are you using the HS or FS USB interface?
The FS one has 16 endpoints and the HS one 8 so it is possible to make 7 USB-CDC interface (sharing an endpoint for each bulk CDC IN/OUT) or 5 when IN/OUT are on different endpoints on the FS OTG interface.
On the HS interface 3 or 2, respectively, are possible.
You need to check whether the USB stack is sharing endpoints or not to get its limits.
In case of complications the uTasker USB stack can also be used with MCUXpresso and SDK (links below) where the number of USB VCOMs is configured by a single define:
#define USB_CDC_VCOM_COUNT 4 // the number of CDC virtual COM ports in composite device
#define USB_SIMPLEX_ENDPOINTS // share IN and OUT on a single endpoint (remove for independent IN/OUT endpoints)
and mixed with various other composite classes.
I think that the Freescale/NXP USB stack requires a certain amount of custom modification and fairly deep understanding to do it because the 2 x CDC case is more an example of what can be done than a generic solution.
Regards
Mark
USB Guide: http://www.utasker.com/docs/uTasker/USB_User_Guide.PDF
Composite and multiple VCOM: http://www.utasker.com/kinetis/USB_Device.html
Complete Solutions and technical support for professional Kinetis developments: http://www.utasker.com/kinetis.html