John,
This is correct
CURVAL(field) = old value
OLDVAL(field) = old value
table.field = new field
unless someonoe else has altered the table and in that case CurVal() will tell what value the table actually has on disk (the other user's changes).
Because the table has been updated during the trigger the only way you will get your data is to read the Table.FieldName information as this is the buffered changes that are pending during your trigger.