was heisst bei Dir "funktioniert nicht" ?
stürzt noch immer der Taskmanager ab ?
spontan habe ich folgenden Verdacht:
die reservierten Pages befinden sich an pAddr im
fremden Adressraum...
und Du nimmst aber noch an, es sei in Deinem Adressraum.... schau Dir mal noch
WriteProcessMemory an...
weiter erstellst Du mit LVI.psz := Pchar(process); einen weiteren Verweis auf eine Speicherstelle, die wiederum nur in Deinem Prozess gültig ist (reserviere für die Daten von process im fremden Adressraum Speicher)...
bei Google findet sich übrigens dies:
http://www.codeproject.com/threads/int64_memsteal.asp (2. Treffer bei der Suche nach VirtualAllocEx)
sieht für Dein Problem sehr interessant aus