Dear Chris,
I discovered that opening a session, before a prior session had completed being opened resulted in two open repositorycontrollers. i.e. openedOn: was returning nil for a controller that was already in the process of being opened.
This also results in clients being given the same id for multiple sessions.
I solved this by putting a critical block around our #newSession code.
Keith