Forse a fscanf non gli basta un long double per leggere quel valore ....
Che valore legge ?
Che compilatore usi ? (con VC++ un long double è come un double)