MTSendOrder

 
My question is regarding the MTSendOrder function of the MT3 API.
Consider the following code fragement, where SendOrder is from CMetaTraderAPI.
if ((err = pMT->SendOrder(&soi)) > RET_OK_NONE)
{
       return err;
}
...do whatever...


On rare occasions the above condition is true yet an order is still actually executed. On other rare occasions the condition is false yet the order is not executed. I have traces throughout my code - so I am sure of this. How do I know with certainty whether an order has been executed or not? Since the return values of MTSendOrder are on occasions misleading.
Should I have used the following condition instead?

((err = pMT->SendOrder(&soi))  !=  RET_OK)



Many thanks.