Perhaps this will help:Application note 2298
2298 is written for the 24x94 series psoc, but you can clone it pretty easily to the 28 pin ssop encore III device.
Some random thoughts to consider if you haven't already:
It has been a while since I messed with this specific application note. I believe it has the descriptors and endpoints for bulk transfer, but the reset you will have to put in. You can put in a reset flag in the interrupt assembly file and handle that in your main.c file. For bus resets, I have used the usbfs_stop and usbfs_start when the bus resets. If the device is still powered and the bus resets and you don't handle it, the device will effectively hang. Some pc's reset the bus on sleep, some don't so some machines will work and others won't. It can be frustrating to figure out because the device won't communicate, but the pc won't throw an error. If you decide you want to do ftdi, you could just put in the usbuart user module and do mode.
In some examples i've seen and with Linux hosts, bulk transfer devices are automagically converted to interrupt transfer. Is there a reason you have to have bulk? It hogs usb resources.
Did you want to do a watchdog timer?
Depending on your target host, I've found that despite the loathing of the libhid community, piggybacking on HID isn't a bad option even if your device has no human interaction. The Encore III is a good platform with many capabilities. I think you find it a capable option, but be aware it may take a considerable amount of development time to get it to function.