If you look at the moment by moment transactions in the pool, you will see that the pool's logic does not have the appearance of only mining while there are profitable open bids for a coin. Rather, it mines a bit longer and the pool's trading logic attempts to sell the coins across a longer period of time so as not to dramatically affect the price received.
The open bids are taken into account, when determining what coin to mine. So if there is 1 BTC of buy orders for 1000 CGB, and we mine 1000 CGB, it will look at the next highest buy order.
As for the trading logic selling coins over a period of time instead of dumping them all at once, I think that adds to our profit. Although I don't know for sure.
The issue is not whether you only mine "1 BTC of buy orders for 1000 CGB", but buy orders at what price? Do you only take into account buy orders that are more profitable than mining the next best currency, or which specific buy orders? I would strongly argue that only buy orders that are at a price near/above the point that represents the next best mining opportunity should be mined/filled, and should be done so immediately. These represent the highest profitability available in the market, period. Waiting to sell is risky business, as the arbitrage opportunity may be fleeting as others will also be looking to correct this market inefficiency. There are additional practical implementation details, but this is the essence of what in my opinion would be a best practice.
If your calculation only takes into account the most profitable (more profitable than the next best coin) buy offers and not all buy offers, then you are not overmining, but you are gambling a bit on the future price action of the coin. Could be risky business if BTC keeps going up, as you are on the wrong side of the trade. I agree that it can win under certain circumstances, but various of these coins are volatile and why take the risk?