i modified the code to use win api
Code:
        for( int nProj = 0; nProj < g_params->nTotal_Projections; ++ nProj)
        {
            //fseek(fileArray[nProj],lBeginOffset* sizeof(float), SEEK_SET );
            SetFilePointer( fileArray[nProj], lBeginOffset* sizeof(float), 0, FILE_BEGIN);
            //fread(ipp->fIPProjections_o + frameoffset + memoryoffset, sizeof(float),lElementstoRead, fileArray[nProj]);
            ReadFile(fileArray[nProj],ipp->fIPProjections_o + frameoffset + memoryoffset,sizeof(float)*lElementstoRead, &read,0);
        }
and results
Code:
Time taken to read 500 files 173640 ms
>Buffer 399394 KB, Disk read @     2355 KBps

// after the first read only differential is read

Time taken to read 500 files 3766 ms
>Buffer 8378 KB, Disk read @     2278 KBps

Time taken to read 500 files 4047 ms
>Buffer 11171 KB, Disk read @     2826 KBps

Time taken to read 500 files 3828 ms
>Buffer 8378 KB, Disk read @     2241 KBps

Time taken to read 500 files 3875 ms
>Buffer 11171 KB, Disk read @     2952 KBps

Time taken to read 500 files 3906 ms
>Buffer 8378 KB, Disk read @     2196 KBps

Time taken to read 500 files 3890 ms
>Buffer 11171 KB, Disk read @     2940 KBps

Time taken to read 500 files 3828 ms
>Buffer 8378 KB, Disk read @     2241 KBps