Ecco trovato l'errore...

Quando hai cretato le procedure, gli hai inserito, vado a spiegarmi meglio:
PROCEDURE leggidati (var prodottorodotti; i:integer) <---
PROCEDURE aggiorna (var i:integer; prodottorodotti) <---

quelli in rosso.
Quando hai fatto la chiamata nel main di queste due procedure, tu non gli hai inserito nessun argomento:
leggidati;
aggiorna;

e qui ti da l'errore, perchè praticamente ti dice che sulle procedure hai passato degli argomenti, e mentre sul main non gli passi nessun argomento e quindi ti dice che ci sono troppi argomenti per queste due procedure... non so se mi hai capito....

Cmq un altro consigli che ti darei è quello di fare un controllo se il file del testo sia pieno o no se al limite devi inserire dei nuovi nuovi record.

Se hai problemi contattami pure, ti saprò dare aiuti quando ho tempo libero e spero al più presto