It does not omit trades with my workshop 5 script. But I believe your reverseShort function has a mistake, here is mine:

Code:
TRADE* reverseShort(int MaxTrades)
{
	if(Stop > 0) 
		exitShort(0,priceClose()+Stop); 
	if(TakeProfit > 0) 
		exitShort(0,-(priceClose()-TakeProfit));
	if(NumOpenShort < MaxTrades)
		return enterShort();
	else if(!mode(HEDGING))
		exitLong();
	return 0;
}