As you've already noticed, DevForce will generate a temporary key for entity with a PK identity column.
Entities with temporary key and EntityState of Added are considered new entities by the EntityManager. What this means is that when you import entities with the same id and EntityState of Added, the later import doesn't overwrite the earlier import. But rather, the EntityManager will see the later entity as a new entity and will increment the id. So what you have are 2 entities with different ids.
I suspect that this is what's happening here. The fix is to set the EntityState to Unchanged before import and set them back to Added before persisting them to the db.