Hi Mike,
The sniffer trace doesn't tell any device fault.
Your descriptors and request handling seem fine.
Sound like VID/PID conflict.
Windows hold devices's USB / HID profile (device instance) on its registry, sorted by VID/PID. Maybe, you've changed just the descriptors, but not for VID/PID? Windows dislike inconsistency of the device with the former profile.
a) Assign another VID/PID to the device
OR
b) Delete device instance on the registry.
Just for testing, you may assign any VID/PID to your device, as long as the VID/PID is not used on your PC. I often assign VID = 0xFFFF for testing. Get official VID/PID before release.
To delete (uninstall) device instance(s), this utility is handy.
USBDeview
http://www.nirsoft.net/utils/usb_devices_view.htmlOn this utility, sort the list by touching to the VID column.
Find the VID/PID of the target device, and right click - uninstall.
Tsuneo