UcanInitHardware ожидает указатель на функцию типа
TUcanCallbackFktEx, а он описан как procedure of object (при этом
соглашение вызова в Delphi по умолчанию fastcall) а должно быть:
type
TUcanCallbackFktEx = procedure(UcanHandle_p:byte; dwEvent_p: DWORD ;bChannel_p: BYTE; pArg_p: Tbyteptr); stdcall;