I just spent way too much time trying to figure out why my simple USB test was not working.
I'd set up three endpoints, a bulk in, bulk out and an interrupt in. I'd mistakenly set bInterval for the interrupt endpoint to 0. This posed no errors and enumerated perfectly fine (OSX 10.9.4). However, it was impossible to claim the interface to do anything with ANY of the endpoints. libusb_claim_interface() always returned LIBUSB_ERROR_OTHER (-99).
I'd consider this a PSoC Creator component bug; it should not be possible to set a bInterval of 0. Posting here for posterity and hopefully I'll save someone else a lot of time and frustration. :-)
Thanks. People here think that's a defect too, so we've marked it as needing to be fixed in the next component release.