Вот Вы сказали, ProgressCallback глобальная функция, но ведь она объявлена в классе THiAsmClass, и она не может обратится к методам класса THiAsmClass.
И мне это не понятно. Разве что - это декларация использования функции в классе?
Предполагаю, если-бы я описал функцию вот так
#pas
function THiAsmClass.ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall;
begin
if total then
_hi_onEvent(onProgressMax, value) else
_hi_onEvent(onProgress, value);
Result := S_OK;
end;