If I understand correctly the issue is that the automated disqualification won't distinguish between your own code trying to leech and someone else forcing you to do it via info shots or a tie.
The current rules don't entirely prevent this I think, and counter leeching is much stronger than leeching as it allows a very small bot to swallow a large vegy in seconds.
One way you would be able to completely prevent anyone from forcing someone to make an illegal move would be to ban both info shots, ties and venom.
But then it would just be the F3 league with shell and poison though. Not a very big difference.
Would it be possible to tell if a bot is acting of it's own free will or if another bot manipulated it to break the rules?
Also what should happen if a bot forces another bot to use .mrepro and that accidentally causes the other bot to break the rules?
The alternative to disallowing all info shots and ties would be to not allow actions that are causing tie feeding or leaching.
So obviously any direct feeding or sharing of energy would be banned, but also firing info shots (or using a tie) that would place a value into .sharenrg or place the values -1 or -6 into .tieloc. That way you can still have a counter leeching gene, but it will not get triggered unless another bot tried to leech off you. (This is useful for F2 bots who also compete in F1)
Of course then you run into another problem, what if someone is using a tie to force another bot to fire an info shot forcing -1 into .tieloc.
And if you ban that, then what about someone forcing another bot to break that rule?
It seems like no matter what rules you add, someone could force other bots to break those rules...
And even then there would still be a risk of a bot being disqualified after being forced to use .mrepro and having the poor luck of this resulting in an illegal move.
As far as I can tell there are only 2 completely safe ways out of this:
1. Ban forming ties, memory shots and venom (Leaving only shell and poison I think)
2. Detect if the illegal move was caused by another bot interfering with the code execution or a mutation of the code. (In which case the rules would be able to stay the same I think)
(Also don't forget .sexrepro is also banned in F2, it can basically be used as a virus that you can aim, can't be blocked by slime and requires no charge time. This was sugested first when Lovebot was entered in F2 and made official when Abyaly made Saber and it took first place in both F1 and F2

)