Всегда тщательно продумывал обработчик, чтобы: а) гарантированно
сбросить флаг и освободить ЦП; б) Не входить в прерывание слишком
часто. И всегда контролировал фактическую загрузку, в первую
очередь, осциллогрфом, дрыгая ножкой из прерывания и из главного
цикла. Поэтому, честно говоря, удивился, что у atMega, например,
одна команда исполняется (как понял, там принудительно снимается
флаг прерывания при выходе). У PIC24F, если не ошибаюсь, если не
снять флаг, вход в прерывание произойдёт снова, без выполнения кода ниже приоритетом.
Другими словами, не задумывался и исходил из контроля загрузки ЦП на этапе проектирования. Но, считаю, выполнение по одной команде между прерываниями при постоянно активном прерывании полезно - позволяет достигать 100% насыщения прерываний, при этом гарантируя выполнение главной программы, пусть и с минимальной скоростью. Вывести программу из нештатной ситуации хватит.