How about sticking to exactly what I said? Adding a possibly undesirable operation to the script (maybe I don't want to be writing to the file at position 12?) in an attempt to prove that $fopen().pos correctly reports the position in the file doesn't cut it. I had assumed that it functioned as you showed it did, but in between /fseek and /fwrite $fopen().pos does not report the position in the file.

alias nobug {
var %a = $ticks $+ .txt
.fopen -n abc %a
.fseek abc 12
var %b = $fopen(abc).pos
.fclose abc
echo -ai $file(%a).size <- the actual file size
echo -ai %b <- the reported position of the file, proving that $+($, fopen().pos) does not return the position in the file
.remove %a
}

Yes. After you WRITE to the file at position 12, THEN $fopen().pos returns the correct position. But if you /fseek past the end of the file, $fopen().pos does NOT return the correct position IN THE FILE. Since /fseek doesn't increase the file size, it can't possibly be returning the position in the file when you seek past the end.

But in case you didn't notice, my whole issue is with finding out the file size without having to close the file (and reopen if needing to resume file operations).