'Sempre dá 0 valor' porque é o código de saída do último comando no pipeline - sed, que é bem-sucedido (retorna 0) mesmo quando nenhuma substituição acontece.
Definindo pipefail opção fará com que o resultado do pipe definido para o resultado do primeiro comando com falha no pipeline, se houver. Modifique seu script configurando essa opção antes de chamar o logtail:
...
set -o pipefail
logtail TcpRcpt.log | grep -m 1 "ERROR: your TCP- connection is dead." | sed 's/.*TCPRcpt-/ PID /;s/ -//' >> LOGFILE.LOG
...