Die Zuweisung PowerInfoArray := PowerInfos scheint mir äußerst suspekt. Ich würde das folgendermaßen umdeklarieren:
Delphi-Quellcode:
type
TPowerInfoArray = array[0..0] of PROCESSOR_POWER_INFORMATION;
PPowerInfoArray = ^TPowerInfoArray;
var
//...
PowerInfoArray: PPowerInfoArray absolute PowerInfos;
Die Zuweisung kannst du dir durch die absolute-Direktive dann sparen. Sonst sollte alles wie gehabt funktionieren, wenn du PowerInfoArray[i] durch PowerInfoArray^[i] ersetzt.