The RightEdge paper broker does generally process orders in the same order (sequence may be a better term here) that they were submitted.
The problem with trading 100% doesn't have to do with existing positions, it has to do with the fact that you don't know what the next day's open price will be, you don't know what the fill price will be and hence you don't know what position size to use to trade 100% of your portfolio. The price could change and suddenly the position could be for 101% of the portfolio and the broker would reject it.
In this case, should the buy signal get effectively cancelled, or the sell signal?
It depends on how you are checking for open long or short positions. A position isn't considered "Open" until it gets its first fill. So when you call OpenPositon for a BUY signal, it gives you a position, but that position isn't yet in the OpenPositions list. It is in the PendingPositions list. So when the SELL signal comes around, you probably want to check both the PendingPositions and OpenPositions lists, and call CloseAtMarket() for any positions in the lists. For a pending position this will simply cause the open order to be cancelled before it is ever filled.
So if you do this, then the last signal generated should be the one that is actually processed. If you don't, then the BUY and SELL orders would both be submitted, and they'd probably both get filled, leaving you with no position.