This seems to fix the problem:
    items = []
    while sessions:
      k = sessions.minKey()
      items.append((k, sessions[k]))
      del sessions[k]
    for k, v in items:
      sessions[k] = v
I have a trimmed down version of our DB with just the sessions in it and
the necessary code to open it.  If someone at Zope wants to try to debug
this problem I can sent a copy.
  Neil