1. You have an update query based on flags to select records.
2. When you run the query you get all but one selected record to register the change.
3. When that query is done, both programmatically and visually you can see that one of the records that was flagged was not affected.
4. If you re-run the query then you see the last selected record get affected.
In a stand-alone situation, this makes no sense. But your first post says "I have a screen where the user selects rows " which is an odd way of saying that UNLESS it is a multi-user database and sometimes the user isn't you.
Is there a chance that the database, though a single file, is shared among multiple users?
Because if so, we are looking at a potential record-locking conflict. Please clarify the big picture of how this database is used because in isolation, this shouldn't happen. But if it is shared among users, there is a very strong possibility that it is merely a record-access conflict. So please tell us what is going on with your users.