Rounding errors while running Prime95. But I think I've finally got it stable. My eureka moment came when I stopped being intimidated by all the settings, and realized that the defaults for the settings were listed to the right of each setting when you selected it.
I then set all the voltages to default, and just played with the ones I knew made a difference. I had done a lot of testing and knew that DRAM votage was where it needed to be, so I set vddr to default, then raised it until the ram was stable. Then I started messing with CPU and CPU/NB.
I'm afraid I lost patience with raising it one at a time, and not knowing whether I needed to raise CPU, CPU/NB, or both, so I raised them both a fair bit to what I felt was still within an acceptable range, and lo and behold, it seems to be stable. I'm going to run Prime95 all night just to be sure but it made it through IBT on the max settings I could support ten times, so I'm pretty confident that I've made it.
I'm sure at some point I will see if I can overclock it further, or try lowering the voltages to the minimum they need to be, but for now I'm just happy it's finally stable.
If I learned a major lesson through all this, it is that the auto voltage settings are complete bollocks, you should always start with default, and work from that as the base.