Is there some inherent caching somewhere in Windows (seems unlikely with a 3GB file?)
Sim, O Windows tem um cache que pode ser responsável por isso .
De acordo com o artigo do MSDN vinculado, você pode desabilitar o armazenamento em cache de um determinado arquivo com o sinalizador FILE_FLAG_NO_BUFFERING na chamada CreateFile. Se você não puder alterar o código, poderá usar o aplicativo SysInternals RAMMap para redefinir o código cache entre execuções de benchmark.