LOF は 0 を返します。
ここにファイルがあります

ここにサンプル関数があります
Public Function GetNumberOfLinesInFile(ByVal FileFullQualifiedName As String) As Double
Dim f As Integer
Dim FileBytes As Double
Dim LineCount As Double
f = FreeFile(0)
Open FileFullQualifiedName For Binary Access Read As #f
FileBytes = LOF(f)
'//CODE MISSING
Close #f
GetNumberOfLinesInFile = LineCount
End Function
編集
では動作しないBinary Accessようですが、次のようにファイルを開くと正常に動作しています
Open FileFullQualifiedName For Input Access Read As #f
編集2
上記のサンプル関数では、としてLOF宣言することで機能しましたが、どこでも機能しているわけではありません。たとえば、次の行では、との両方が返されています。FileBytesLongLOCLOF0
Do Until Loc(FF) >= LOF(FF)
編集 3
どういうわけか、ファイルパスが変更されたためOpen FileFullQualifiedName For Binary Access Read As #f、新しいファイルが作成され、明らかに、この空のファイルLOFに戻っていました0