Hi Adeneo, thanks for the reply.
I have implemented the USB memory stick 'fixes' required to patch the various Microsoft bugs but still have issues.
I realised that USB memory sticks are the first high-speed devices I have connected to my board. I therefore modified the USB driver to limit the operation to maximum of USB Full Speed Mode and the memory sticks appear and work reliably.
I guess I have an issue with my board / hub that is causing issues with high speed transfers which I will start debugging next.
For reference, for anyone else wanting to test this, the file I modified is:
C:\WINCE600\PLATFORM\COMMON\src\soc\COMMON_FSL_V2_PDK1_9\MS\USBH\EHCI\chw.cpp
In the function 'PowerOnAllPorts()' I uncommented the setting of the 'port force full speed connect' and added a retail message for debugging purposes:
// Testing for full speed
portSc.bit.PFSC = 0x1;
RETAILMSG(1,(TEXT("USB limited to full speed (PFSC bit set)\r\n")));
Now I need to start debugging my high-speed issues....