Eraser uses the FILE_FLAG_WRITE_THROUGH and the FILE_FLAG_NO_BUFFERING flag which disables the use of the cache. In v6 however I was doing some investigation and am trying to do the same for .NET code (which is difficult, because managed memory cannot be written to unmanaged memory easily, and the FILE_FLAG_NO_BUFFERING flag requires certain unmanaged memory conditions to be true before working.)
Joel