The parent can't hurt child code was put in specifically because:
1. Bots are immune to their own shots
2. When a bot reproduces the child just kind of 'appears' in front of the bot, quite magically. Meaning it will pop into existance on top of a stream of shots.
Mammal children are protected from their mom's immune system while they are gestating. So I was going along the same lines. 10 cycles was arbitrarily chosen, but the idea is simple enough: the baby bot should still have whatever protein markers the parent has that prevents the parent from being injured by its own shots.
This code doesn't prevent parents from trying to shoot their kids, or vice versa.
I didn't think it was that big a deal, or I would have certianly dicussed it with you guys. If you think it's artificial, it's easy enough to remove.
The mutations code is, to be frank, a mess. Combined with the simplicity of the environment (yes, a destroy-the-birth-tie will be more successful, but only slightly. In DB environment, that edge is negligable, so it rarely develops or even survives the selection process).