Здесь ты обратился за помощью не по адресу: я не умею делать выводы из "чего будет, если ту фиговинку переместить туда"
Я умею делать выводы, например, из работоспособности вышеприведенного
#pas
...
procedure MyCallback(pCtx:pointer; pUserData:pointer); stdcall;
var pCls:THiImageLoader;
begin
pCls := THiImageLoader(pUserData);
SetEvent(pCls.hOK);
// и больше НИЧЕГО!!!
end;
procedure THiImageLoader._work_doLoad;
...
FImgCtx.SelectChanges(IMGCHG_COMPLETE,0,1);
WaitForSingleObject(hOK,INFINITE);
...
И проверять работоспособность по-шагам.