Found it. When an info shot is in the last cycle(s) of it's life, it is possible it can have 0 nrg (power). (An info shot's nrg is a function of the .shootval of the shooter at the time of shooting. A default is provided iof .shootval is 0 or negative (giving longer range). Nrg decays independent of the lifespan of the shot, so shots are not destroyed when they hit 0 nrg. A shot's nrg only has bearing on shot power at impact time, not shot longevity.) The nrg of an info shot is used to determine whether a poison shot is returned and if so, how much poison is returned in the shot.
When a bot with 0 poison is hit by an info shot with 0 nrg, the code incorrectly returns a posion shot with 0 poison.
Fixed in 2.43.e.
Bots must have some poison to return poison shots. Info shots with 0 nrg will get through when bots have 0 poision.
Going forward, I will likely add a new sysvar so that shot power and shot range can be set independently. This is not possible today as both factors use .shootval (positive values for power, negative for range).