When ISAM key buffer support was disabled and automatic ISAM key buffer refresh on update was enabled, reading a record in physical order and then updating it may update the wrong key value. This typically caused the update to fail with error 2 or error 3. In some cases, the update succeeded but then a subsequent read of the record failed with error 160.
Reading a record in physical order refers to calling FRSREC() or FRSVREC() with a data file number or calling REDIREC() or REDIVREC().
Logic has been modified to correct this problem: When ISAM key buffer population is disabled, a physical record read now marks the key buffers as having their population disabled, so that a record update refreshes the key buffers as intended.