You should also be setting the timestamp again in the update otherwise all the apps that read the record will still be able to update the record. You also need your code to check that a record has been updated otherwise the user will think he's done the update and later find it didn't happen.
Code:
-- do update
UPDATE table
SET field = fieldvalue,
fieldTimeStamp = now()
WHERE fieldID = fieldIDValue
AND fieldTimeStamp = TimeStampValueSinceRead;
-- test it happened
if row_count() != 1 then
-- raise some sort of warning
end if;
Most of all you should really decide whether this is an issue for your application. Many apps only allow the user to change the data related to them so this wouldn't be an issue. Assuming this is a reasonably simple non financial application you could also just ignore the problem all together and state that "the last update wins" is the proper behaviour for your system

If you want all the user updates to make an effect no matter what order they come in then store the changes in a separate transaction table.
Mike