The BPM transport doesn't handle spaces in the process name correctly. I've defined the endpoint as follows:
<bpm:endpoint name="myprocess.endpoint" process="My BPM Process"/>
Within ProcessConnector.lookupReceiver, this endpoint is retrieved using the exact string "My BPM Process", however within AbstractConnector.lookupReceiver(), this endpoint is stored in the receivers map as "My%20BPM%20Process". Therefore, the receiver is not found.