Ci sto provando, ma credo mi manchi ancora qualche funzione.
Io riservo il primo record. Ciò significa che nel campo ID del primo record dovrò salvare di volta in volta il mio contatore, giusto?
Vediamo se a livello di ragionamento sto capendo qualcosa. La procedura inserimento la farei in questo modo.

APRI FILE IN LETTURA
SE (FILE NON TROVATO)
{CREA FILE
scheda.id<-- 1
MEMORIZZA scheda.id in una variabile esterna che richiamerò al prossimo inserimento
MEMORIZZA IL RECORD SCHEDA SU FILE
CHIUDI FILE}
ALTRIMENTI
{LEGGI PRIMO RECORD
INCREMENTA scheda.id
MEMORIZZA scheda.id in una variabile esterna che richiamerò al prossimo inserimento
AGGIORNA PRIMO RECORD
CHIUDI FILE}

//procedo con l'inserimento
scheda.id<--- variabilememorizzata
nome...
....
APRO FILE per appendere il RECORD INSERITO
SCRIVO RECORD
CHIUDO IL FILE