That's a pretty common mistake for db4o newcomers :)
The problem is that, once retrieved in a session, db4o will keep a reference to the object (that's how it figure it out whenever a Store() is indeed a store or an update); so the second time you fetch the object from db, db4o will find the cached one and return it (you can read more about this, and other concepts, here).
The solution? Depends on your needs, but you could:
- Make a clone of the returned object and update this clone
- Open multiple sessions with the database (db4o has some optimizations for embedded clients).
If you are new to db4o, I recommend reading this documentation.