Yes, I know that it's much more complicated than that. In fact, if you consider that there are multiple sims running simultaneously, but not synchronously, then the whole problem becomes much more complicated.
I'm just trying to get a grip on what kind of information we need and the easiest way to get it. The info I want is the ability to tell whether a bunch of Lionfishes in my sim are all from my own sim, or a mix of strains from other people's sims. An easy way to do that is to put a label on bots now and then, a label that would stick around on all of their offspring. This way if I see Lionfishes with two different labels in my sim, then I know that these guys came from two different lineages. I can kind of do it now, if I just look at the sim and see Lionfishes of two different colors, but it's not a very reliable way. Re-naming species after N number of cycles, or N number of mutations or N number of generations would be an easy fix and would be helpful.
Here's an example: the multiply(shvarz) bots in my sim are just offsprings of a multiply(peter) that I picked semi-randomly (I picked a bot with largest number of offspring), saved its DNA and loaded back into the sim. One thing that I could tell is that multiply(shvarz) after certain time replaced the original multiply(peter), so I know that it's a better bot than the one that was in my sim previously. Also, now I know when multiply(peter)-s come into my sim from other people - they appear separately on the graphs. So re-labeling that bot that was quite useful. Automating this process would be useful too.