I'm out of ideas. Something in you code is changing one of the fields after you issue a TABLEUPDATE(). You could try putting a breakpoint on a watch of GETFLDSTATE(-1, calias). You're program should break at the TABLEUPDATE and anything else that changes a value.