Ну в общем разобрался. Причина в следующем. Когда в прерывании по
ДМА я останавливаю TMR2 он остается в позиции на самом конце своего
периода (я первым делом в прерывании останавливаю его, иначе он
успевает выйти на следующий период). И когда я готовлю его запуск в
следующем кадре, то обнуляю тело таймера (для синхронизма кадров),
что приводит к формированию ФРОНТА в каналах таймера. И этот фронт
запускает АЦП. Поэтому, как только я разрешал работу ДМА в
очередном кадре, триггер ДМА в АЦП уже был взведен и крайние измерения (те самые, произведенные после ресета тела таймера по сути где попало) тут же летят в массив ДМА в его нулевой индекс. Лечение проблемы очень простое. Нужно по завершении сессии ДМА отключить АЦП от ДМА соответствующим битом и включить эту связь только перед самым стартом сессии.