Ich weiß mangels 64bit-fähiger Version von Delphi nicht wie die deklariert sind, aber in
winnt.h finden sich verschiedene Strukturen für 32 und 64bittige Header ...
IMAGE_NT_HEADERS64 und IMAGE_NT_HEADERS ... das sind (logischerweise) verschiedene Dinge ... analoges gilt für IMAGE_OPTIONAL_HEADER64 und IMAGE_OPTIONAL_HEADER32 und so weiter.
Kurzum, du liest vermutlich an der falschen Stelle des Headers.