Steve,
You are not checking the return values from the cursorsetprop() or the Tableupdate() and either of them could be returning .F. indicating that they did not do what you asked. You still haven't told us if TableUpdate is returning .T. indicating that it did, in fact, do the update.
You can find out what is going on easily by using code similar to this;
IF NOT TableUpdate(...)
AERRORS(laErrors)
ENDIF
You can go on forever trying to fix what you don't understand, or you can try to understand what is happening first and fix it with ease.