Hi Colin:
I suspect there are some memory issues in the old usb stack (MQX 4.1). I would suggest you try MQX 4.2.
In MQX 4.2, there are two usb folders, one is usb, that is the legacy usb stack. ( same as MQX 4.1, with some minor changes). the other usb folder is usb_v2. This is a completely new implementation of usb stack, it fixed some usb issues, which are hard to fix in the legacy usb stack.
unfortunately, usb_v2 only supports k22, K24,k64, K65.
K60FN1M0VLQ12 is not supported in USB_V2. If you need to run usb_v2 with K60 board, you need to do some porting work. I have customer who ported this version by himself.
I guess USB_V2 fixed your issue.
If you have new MCU, such K64/k65/...,or k60 100M, then you can try MCUXpresso SDK.
Regards
Daniel