A fix is to implement two separate methods:
SesameRepository.addGraph() always creates new blank nodes
SesameRepository.mergeGraph() reuses blank nodes that originate from the same repository.
Issue fixed in trunk, will be available in Sesame 1.2-RC1
This solution is probably not ideal, we are considering reimplementing this with a boolean parameter for the add method rather than having two separate methods.
Reimplementation has been checked in that gives a more intuitive and consequent interface: all add methods by default now join reused blank nodes when appropriate. This behaviour can be switched by a boolean parameter to creating new blank nodes every time. The previous 'merge' methods have been removed.