Randy,
OLDVAL() returns the value that a field had when the data was buffered on the current machine
CURVAL() returns the vlaue that a field has currently on the disk drive (may be different if another user made edits while you had the record buffered)
Alias.FieldName returns the current value for a field in your buffer.
OldVal() <> Alias.FieldName : You have changed the value
OldVal() <> CurVal() : someone else has change the value
CurVal() <> Alias.FieldName : eithr you or someone else has changed the value
OldVal() <> Alias.FieldName AND Alias.FieldName == CurVal()
You have changed the value to the same avalue that someone else changed it to.
With views OldVal() ALWAYS equals CurVal().