Als Einheitencode wird im Normalfall der erste Parameter vor dem ersten '|' erkannt.
Wenn (wie bei dir in der Batch), kein Paramtertrenner '|' vorkommt, dann wird der ganze Alarmtext als Einheitencode interpretiert. Und das ist ja falsch.
Deswegen folgende Batch:
@echo off
C:\firEmergency0.71\files\alarmexe\Alarm-POC32.exe %1 | %2 | %3
PAUSE
Falls das nicht geht, dann versuch es mal so:
@echo off
C:\firEmergency0.71\files\alarmexe\Alarm-POC32.exe "%1" "|" "%2" "|" "%3"
PAUSE