Paul, not sure if this is working yet, couple comments on the conversion:
/trunk/HighVoltageControllerRefactoredISRReorganized.c - Open ReVolt - Trac
Sorry, it's just an optimization though.
Calling ReadThrottle and ReadCurrent in ISR (ADC_vect) adds a bit of code to that interrupt handler. Might just update the raw current and throttlePos variables directly (like temperature) and have a void ReadThrottle(int16_t) that you pass tmpThrottle to after making a copy of it, but outside the cli block in main. Same for ReadCurrent. Can inline them too. Might call them ConvertThrottle and ConvertCurrent instead too.