Потому что заявки легко можно выставить так, что исполнятся они обе. И вы так же будете спрашивать, почему они обе исполнились.
В API можно управлять заявками, отключайте управление позициями и ведите их сами. Заявки выставляются функцией NewOrder интерфейса ISecurityRt.