At a Critical Point, all Extract files that are open for writing are closed and reopened. Subsequent records are added to the end of the file.
When you switch from reading an Extract File to appending data to it, you should code a CriticalPoint command immediately following the first Extract command. If you fail to do this, you could get duplicate records on the Extract file if the Report was aborted and automatically recovered at this point.