When the last carriage return written out is the last byte in the last sector of the file, DOS doesn't allocate another sector for the end of file mark. Therefore, the next APPEND never finds the end of the file, and so the file pointer gets left at the beginning of the file. Consequentially, the next WRITE command writes over the first record.
Try a READ after the APPEND command:
A. When the READ returns an "Out of Data" error, do a normal APPEND, assuming that you're using an ONERR GOTO in Applesoft.
B. A successful READ means that APPEND writes over the file. In this case, the only way to add to the end of the file is to copy the entire file into another, then write your information into the new file. Delete the old file and rename the new file with the old file's name.