The delete-calls on the connection in BasicEntityPersister::deleteJoinTableRecords do not include the types for the fields:
https://github.com/doctrine/doctrine2/blob/cd11723e6310b5973f50e7d9819c58916721d290/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php#L540
A joined entity with a custom id type can therefor not be removed because the Type::convertToDatabaseValue method is never called to transform the id into its database value.