>GETNEXTMODIFIED returns 2
A non-zero value means that you've got pending changes on that row. Either your changes are not being written out or something else is making a change after that TABLEUPDATE(). Use GETFLDSTATE(-1) on row 2 to find out what column has been changed. Maybe that will lead you to the problem.
-Mike