I have been very pleased with the software from HHD. I used the serial port monitor to do some heavy reverse engineering a few years back and the HHD software was well tailored for the work.
I dabbled with their USB sniffer version but never bought the full version. Back in the day there was a free trial version that was somewhat useful. They may still have it.
At any rate, I got in over my head with USB because I couldn't figure out how to make the "driver" in Windows. If you're using Linux the project may be quite a bit easier, since all of that low level driver I/O logic is easily accessible in the kernel code. Also, Linux 2.6 offers some devices under /dev which can be used to directly send/receive to the USB device without the need for any special module/drivers. Great for development.