No. The code that the ISR calls takes longer to run than the ISR repeat rate. Hence saved states on the stack build up rather quickly and bang it crashes.
I've also used my oscilloscope to see how much time I have left. I send a single short pulse at the start of the ISR code and a double pulse at the end. HOPEFULLY there is some space between the end of one and the start of the next.
You know... as I'm typing this I just realized that I'm doing it all wrong. There's no need to call the A/D read code from the ISR. All the ISR has to do is update the display with whatever the current value of the A/D reading is.
Why didn't I think of this before?????
It always seems that the answer comes to me when I'm describing the problem to someone else...