Нашел при каких обстоятельствах не работает SysSockRecv - при сбросе программы плк (сброс\холодный сброс\заводской сброс).
Если при запуске плк стоят rfid карты, то он после соединения с сервером сразу делает запрос на сервер и ждет ответных данных и тут они не приходят, пока не сделать переподключение со стороны плк. Если же плк сделает запрос (этот же) через минуту (позже, через 2, 10, неважно) то работает все хорошо, если честно для меня загадка почему, ставил и задержки не делать запрос в течении 15 секунд, не помогло.
Такое поведение на версии v 2.14.0
Поменял плк на аналогичный только с прошивкой 2.15.8 и проблема тут же ушла, данные принимаются всегда и SysSockRecv работает корректно при том же коде.
печально, ушло очень много времени на решение этой мелочи.