Il seg fault non è quando compili ma quando esegui.

Il problema è sugli indici che usi quando ordini ma esistono altri problemi come questa

((cfPtr = fopen("proprietà.dat", "wb") == NULL))

che dovrebbe essere

((cfPtr = fopen("proprietà.dat", "wb")) == NULL)

Controlla che il valore di i restituito dalla lettura sia corretto

Esegui il programma passo passo con il debug eseguendo l'ordinamento