Generally the philosophy thus far for sysvars (at least as long as I've been around) is to give bots limited and imperfect knowledge about their surroundings. Things that a human or animal or bug or whatever could gather about their environment by being placed in a similar position. As I see it, there are three degrees of information for sysvars:
1. Observational data about a bot's surroundings. Such as what it can see, in/out variables, etc. Things that a human or other animal (bug, bacteria, whatever) could determine at a glance in the bot's position.
2. "Hidden" data about other bots, such as their nrg, body, etc. levels, Memloc/memval, refeye. Things that a bot can figure out if they could peek into the other bots memory array.
3. Global data that an animal similarly placed couldn't possibly determine, or shouldn't have to determine. Things like maxvel, for one, xpos and ypos to a lesser extent. That's probably about it.
I'm strongly against moving up that list without some very good reasons. Maxvel, for instance, is a limitation of the system, so the idea is that it isn't fair for a bot to be subjected to that law without some heads up. I was never a fan of xpos and ypos as absolute references. They were added for early antbots. But even here, the argument went that real ants use pheremone trails and polarized sunlight to navigate. We could simulate those things, we just can't/don't want to right now. If you haven't, try going to the old forum and reading through the early development reasoning behind different features we take for granted.
Even hidden data I think gives too much information about the system. You shouldn't be able to tell by looking at a bot if it's dead or alive, for instance. You should have to do some reasoning (well, it hasn't moved in a couple of cycles, and when I poke it, it doesn't react). And the whole refeye/myeye thing is indefensible when you really examine it. Conspec ID should be handled with in/out pairs.
The lower level you keep things, the more possibility there is for bots to make mistakes, or take advantage of each other. A bot could play dead, for instance, and wait for another bot to drop its guard and then attack it. Bots can try to spoof in/out conspec alot easier than the refeye/myeye system.
For the new version, I'm reworking things to be as low level as possible. I'm trying to find ways to eliminate the need for refnrg, etc. Keep things strictly based on information immediately available to bots. What you're suggesting here is something I'd put in the third tier. It provides information that a human in a similar position would have no way of knowing.
Trying to cope with mutated offspring is an interesting and rewarding area for bots to try to figure out. Even telling if your kid is lame requires some good coding. I don't see a reason to give bots this information when with some good work they can figure it out for themselves.
That said, I do think that using shepherd bots in evosims as a poor man's scripting system is extremely useful. These shepherd bots are less animals and more forces of nature, so I concede that in this case giving these bots better information is valuable. Perhaps set up some shepherd sysvars that are deactivated by default, but can be enabled for shepherd bots.