PhoenixMiner resets the OC settings if it is closed "gracefully" with Ctrl+C in the console (but not if it is closed by clicking the X button in the top right corner of the console). However, there is no definitive (i.e. fully documented) way to reset the OC settings, so it may not work with some cards (it does work with Polaris cards and 18.x.x drivers). Note that when we apply clocks and voltages, it is always with absolute values and not offsets. A possible workaround is to add command-line option -resetoc that will force PhoenixMiner to reset the OC settings at startup. We are also considering resetting the OC settings even when the miner is closed forcibly but this may cause problems if some of the GPUs are frozen and the miner is trying to restart.
Thanks for responding, that info is helpful. I did actually notice that even on reboot, the hardware settings previously set in PM are still active. But, like I said, I've been shutting down with a taskkill. I will continue to experiment. Considering that you specify a voltage in mV and not a mV offset I could not figure out the problem I'm seeing with super low voltages. If I reset my GPU using MSI AB (I didn't know there was a -resetoc command) and I run PM with a undervolt, say 1050mV on the core. It goes off and voltage looks good. Then if I close (the wrong way, I know), the 1050mV core voltage persists, but I understand why now. What is still a mystery, is that when I launch PM again, with the same 1050mV setting in my bat, then I see like 930mV in GPU-Z and I get artifacts leading to either driver crash or BSOD. So I still can't figure that one out. Again, this is on an R9 390 / Hawaii.
Regardless, thanks for the great attentiveness to user issues!