Make row reader retry more careful in case of commit failure on final try

It would get an error trying to rollback a transaction that didn't exist (commit failure does not leave an open transaction). Make the setting of the relevant flag much more explicit and so hopefully clearer.