Я думаю, что TCP здесь не причем, если только клиент не закрывает соединение не считывая ответа сервера, тогда это возможно, если на сокет не установлен linger. Но скорей всего, это просто ошибка в клиенте, разработчики не учли, что функция send() может отправить не все данные из буфера, такую ошибку разработчики не имеющие опыта написания сетевых клиентов делают достаточно часто.