Хм. Ну то есть Вы абсолютно уверены, что trade_action в случае ошибки возаращает честный 0. И Вам легче поверить, что по заявке, которой сервером был присвоен id, дошедший до терминала и возвращенный из trade_action, не был вызван onOrder и она не отобразилась в окне заявок терминала?
Ну допустим терминал жестоко подвис строго в нужную секунду, но на следующий день при запуске (или через несколько секунд после "отвиса"**) он же должен был по идее подгрузив заявки предыдущего вечера показать эту неисполненную с присвоеным trnid. Но не показал...
* а после этого возвращения, судя по логу, было выполнено еще как минимум десяток строк кода
** Тотального зависа терминала не было, т.к. судя по логам моей надтерминальной обвязки, которая пишет состояние окон заявок и сделок терминала в конце дня в 23.52 терминал не был зависшим, реагировал на нажатие мыши, менял окна, писал данные из окон к буфер обмена и пр.)