Я так понимаю у вас самописный обмен, который базируется на обмене битрикса или простыми словами на стандартизированном обмене в форме cml2?
Думаю азы изучены и давать ссылки смотреть и читать нет необходимости:
[URL=http://v8.1c.ru/edi/edi_stnd/131/?printversion=1]http://v8.1c.ru/edi/edi_stnd/131/?printversion=1[/URL]
[URL=https://dev.1c-bitrix.ru/api_help/sale/algorithms/doc_from_site.php]https://dev.1c-bitrix.ru/api_help/sale/algorithms/doc_from_site.php[/URL]
Чтобы не было зацикливания, нужно в таблицы с заказами, после передачи xml по запросу query, те, что попали в xml, установить некий флаг-отбойник, по которому определять, что заказы снова выгружать не нужно.
По сути получается система какая:
1. На сайте создаются/изменяются заказы. Этим заказам присваивается некий статус, по которому нужно определить, что они будут выгружены в учетную систему (УС)
2. УС делает запрос query. По этому запросу формируется xml из заказов в п.1
3. После того, как УС получила этот xml, сайт должен снять отметку у этих заказов, чтобы они больше не выгружались.
И тогда зацикливания не будет