みなさまレスどうもありがとうございます。

iostatを使ってみたところ、例えば、
open(3, file='xyz.dat', status='old')
read (3,*,iostat=testflag) x,y,z
として、xyz.datには10,10,10と書いてみたのですが、
この場合、testflagには「ファイル終了」の-1が入るかと思ったら
通常終了の0が入ってきました。
根本的に「ファイルの終了」を検知できていない感じがしています。

ぼちぼちがんがって理由を突き止めていこうと思います。