Actually I think it would be unwise to put that condition on a mixer.
It reminds me of the method eventually used to break the enigma machines. The breakers worked out that the enigma machine would never encode a letter to itself. That gave them enough of a statistical hole that they could begin breaking.
In the same way, one could simply look at which output coins a person received that contained none of a particular input and voila, the connection is made from input to output.
The correct solution is that coins are completely randomly mixed.
You seem to describe a service where I would deposit coins, check to see that none of the original came back. If they did, I deposit them again later after the service has recharged a little, check again. Meanwhile I'm paying commissions each time. This would be a nuisance.
I don't know where you get that from. I didn't mention commissions, or multiple cycles.
I'm merely describing a mixing service. A mixer takes coins in and issues out coins to the same value to a new address under the control of a particular registered account. When many people do this, then the output coins are not equal to the input coins and so you have anonymised whatever you fed in. It works because it is a transfer done outside of the bitcoin blockchain.
It was suggested that the output coins should be strictly different from the input coins. I was pointing out that that rule in itself is enough to link the inputs to the outputs, thus defeating the purpose of the mixer.