Hi,
It sounds like you are using a multi-table update feature or there is a script that updates the value in the "other" table before the Update() problem is encountered and where you then reset() and retrieve(). You are probably not issuing a Rollback. This would mean that you have a partially updated database for your session and perhaps explain why the "new" value goes away after you log off and on (rollback on disconnect?) this is assuming DB2 behaves like most other databases.
You are right btw. Retrieve() does a Reset() ((with no returns in RetrieveStart event))
HTH
Lars