Должно быть
Код
while (ADC10CTL1 & ADC10BUSY); // Wait if ADC10 core is active
но не в этом суть. Я не совсем понимаю какой режим преобразования и переносов вы используете или хотите использовать? С одной стороны режим преобразования: повторяющаяся последовательность каналов с софтверным стартом последовательности преобразования, а с другой стороны количество переносов = 8. Почему так? Ведь загружая ADC10SA, вы инициируете новую серию переносов. В то время как преобразований в цепочке только два. Т.е. сбросить/установить ENC и ADC10SC нужно в конце каждой последовательности преобразований, несмотря на то, что установлен бит MSC.
Я понимаю, если бы вы тактировали запуск преобразования таймером, а не программно. Тогда все было бы адекватно. Загрузили ADC10SA, установили ENC и... "сижу курю" пока ADC10IFG колом не встанет после завершения переноса блока. После успей только считать значения из блока памяти, пока они не обновились. Вот и все. И преобразования бы сами преобразовавались и в память сами бы складывались

А так (у вас) не совсем понятные (для меня) способы для управления процессом измерения.
Раз запуск софтверный, то не проще ли было в вашем случае просто считывать каждый результат преобразования без использования DTC? Ведь промежуток времени между преобразованиями при ваших установках составляет около 60мкс. Это не так уж и часто ИМХО.