Особо не разбирался, но эта строчка радует:
Код:
var
Buffer: Byte; //тут будет наше значение
...
ReadProcessMemory(ProcessHandle, Ptr($00871714), @Buffer,NumberOfBytes, Temp);
что можно прочитать в Byte при запросе 8 байт? Укажи буфер достаточного размера, необязательно 8 байт, можно и больше, ну уж никак не меньше. Заодно проверяй значение переменной Temp, сколько реально считалось.