Все таки оказалось, что каждый поток выкачивает файл полностью и сохраняет себе куда-то кэш.
Как можно отключить этот кэш, чтобы InternetSetFilePointer работала? (в MSDN написано, что если в HttpOpenRequest исользовать ключи INTERNET_FLAG_DONT_CACHE и INTERNET_FLAG_NO_CACHE_WRITE, она поломается).