Попробуйте так:

Код:
hcom:=Syscom.SysComOpen(sPOrt:= SYS_COMPORT4 , presult:=ADR(err) ); // где err имеет тип DWORD или UDINT
Надо вызвать этот код один раз (а не делать это циклически).