И правильно делает, 4294967295 = $FFFF FFFF. Ты превысил предел, так как не использовал первый параметр:
Код:
restartpos := 1;
SetFilePointer(h, $2A05F200, @RestartPos, FILE_BEGIN);
1 параметр, младшая величина - $2A05F200
2 параметр, указатель на старшую величину - 1
в сумме $12A05F200 = 5000000000