@Liudr, many thanks again for all the help!
Its does'nt need much delay.
130ms - Fails all the time
150ms - Borderline
175ms - ok all the time
Its also importing a specific support file that causes the issue (keybow2040.py). I can import other libs and run code without any delays and its all ok.
My suspicion is that the code running on keybow causes some delay/blocking during boot so if you add some delay in teensy before it enumerates keybow, then keybow has completed initialization (could be the enable/disable that messes up enumeration if executed while it is being enumerated) and will respond to these requests properly.
In my opinion, the RP2040 probably like other systems I've read the source code, initializes USB device controller and attach the D+ pullup resistor right away. I always let my device boot first and determine whether it's time to initialize or attach resistor when situation calls for such actions. The call to an attach() can be done in the user code instead of implicit with init.