Hmmm. I don't think an exhaustive list exists as such currently. It depends on the sysvar and the wiki documentation should tell you whether a sysvar gets reset or not, but it is probably not as clear or forthcoming as it should be. (Feel free to improve it!!!!!)
Any mem location not explicitly reset by the simulator should persist across cycles. This includes all the user-defined locations for sure. All the sysvars that tell the simulator to do something for a single cycle like all the movement sysvars, .tie, .shoot, .backshoot, .repro, .mrepro, .fixpos and so on obviously get reset. All the ones that are essentially informational and read only like all the .eyeX sysvars, .hit, .fixed, .numties, .fertilized, .poison, .shell, .body, .tiepres, all the refvars and trefvars and so on will contain a value written by the simulator for that cycle and thus will nuke any DNA written value each cycle. Sticky control sysvars like the .eyeXdir and .eyeXwidth and .readtie (I think) should not get reset. The rest are case by case. It should be easy to tell by looking at the bot's memory using the bot properties dialog or the console.