出力バッファに残ってるデータの出力と、ファイルハンドルの開放なので、
開いてない番号指定してCloseしても何も起こらない。
Sub Foo()
 Dim fn as Integer
 fn = freefile
 close #fn
End Sub

エラートラップはそのモジュールと、そこから呼ばれる下位モジュール
だけで有効じゃなかったっけ?
下位モジュール呼ぶ前にエラートラップ外したい段階でOn Error Goto 0
いれればいいんでね?

暗黙の初期化とはいえ、上の文の方でOn Error前に
fileOpened = false が無いのが気になる。