Evelyn,
There are probably several ways to do this. The one that comes to mind is to use table or row buffering - that way you can gain access to OLDVAL() and other functions that can let you look at the original state of the record.
You'll need to set CURSORSETPROP, and that will make several functions available. Check the on-line help for CURSORSETPROP, as well as functions like OLDVAL, CURVAL, GETFLDSTATE, TABLEREVERT, and TABLEUPDATE. There are some code samples that should give you some ideas.
Kevin