Потратил полдня, люди помогли разобраться. Отпишу решение.
В несильно типизированном языке типа JS будет и так работать.
А вот если язык типизированный, например, Delphi, то надо увидеть, что создавать надо объект, а в Exchange передавать интерфейс!
var res : integer;
termReq, termResp : OleVariant;
termReqI, termRespI : IDispatch;
AP2 : OleVariant;
begin
termReq := CreateOleObject('ArcCom.SAPacketObj.1');
termResp := CreateOleObject('ArcCom.SAPacketObj.1');
AP2 := CreateOleObject('ArcCom.PCPOSTConnectorObj.1');
termReq.OperationCode := 1;
termReq.Amount := '100';
termReq.CurrencyCode := '643';
termReqI := termReq;
termRespI:= termResp;
res := AP2.Exchange(termReqI, termRespI, 15);
ShowMessage(IntToStr(res));
end;