There is a part in the code which skips already processed lines. I tested with 6.7, but 6.9 code looks similar, in awstats.pl:
if ( $LastLine && $LastLineNumber && $LastLineOffset && $LastLineChecksum )
seek( LOG, $LastLineOffset, 0 );
This means, that #Field definitions of the file are skipped if seeking occurs. If there are #Fields in the file and there is no skipping, they are processed and respected in processing the line.
If seeking happens, because the file was processed before, the following 2 things can happen:
Since perl seek() command won't allow the program to find #Field definitions at all, I simply complately disabled seeking if format is IIS: