Нашёл где ошибка выпадает, после
if (OrderSelect(Ticket,SELECT_BY_TICKET) == true )
Странно, то что номер ордера (TICKET) объявляется=0, хотя должен быть Ticket=OrderTicket();
Причём это должно быть в цикле при определённых условиях
Цикл прошёл, номер тикета улетел, установка по этому тикеру больше невозможна и выдаётся ошибка, вот вкратце. Смогу поправить, если время свободное будет (а есть ли смысл ?) Может Гуру поправят, смысл ясен...