Purtroppo un problema del genere lo risolvi con un buon debugging passo passo.

Il fatto che ti si presenti solo dopo il terzo file, può non essere indicativo (potrebbe essere un problema derivante dal quarto file, ma potresti provare ad indicarlo per primo, oppure potrebbe essere solamente il risultato dell' "accumulo" di scritture fuori dalla memoria allocate durante le prime letture ...).

Io mi concentrerei passo passo sulla lettura dei dati dal file (le fscanf) per capire se ne fa più di quelle previste ...