Return claimed records to the recorder when no charge was committed.
_drain_recorded_costs removes the entries from the process-wide
recorder, so a prepare that is neither committed nor rolled back deletes
that spend from the thread's lifetime total permanently. Restoring lets
the next drain price it again.
Only call this when the checkpoint write did not land: restoring records for a write that did commit double-charges the thread on the next drain. Repeat calls are ignored for the same reason.