Looking at the two lots of code its clear to me that the call to allOff() in the original code was most likely the culprit for causing the ADC "odd high-going behaviour" since that creates a +ve going edge on the supply. This new code doesn't have a call to allOff() and doesn't create high-going ADC pulses.