There's a problem with viruses in 2.37.6 that I think explains what's happening.
See, mkvirus starts a timer if a valid gene number is used.
When that timer runs out, the virus at .mkvirus is copied and shot out. If a gene is inserted in the mean time, where the mkvirus sysvar used to point to is now a different gene.
Meaning that the wrong gene can end up being copied.