If an ECC Status ASO Read shows a correctable single-bit error, can I fix the error by programming the data again in that location?
Answer: There is no guaranteed result for a programming operation like this.
There is no requirement in the datasheet for the system to do anything if an ECC Status ASO Read shows a single corrected bit error in a 32-byte ECC region. Most users will never check the ECC Status ASO Read, and there is no obligation to do so. There is also no obligation to attempt to refresh the flash should an ECC Status ASO Read show a correctable error.
However, if your use case demands that you refresh the data so that a subsequent ECC Status ASO read will show zero corrected bit errors, then the best practice is to copy the correctable data to a new location and to erase the sector containing the original location before that location is used again. Any data programmed in the original location after the successful erase is expected to show no corrections when an ECC Status ASO Read is performed.