Для очереди в структуре xQUEUE есть только параметр "текущая глубина" (uxMessagesWaiting ) и соответственно есть сервис для чтения этой величины.
Но, к (моему) сожалению, нет величины вроде "uxMessagesWaiting_Max", которая бы хранила максимальное достигнутое с момента старта значение этого uxMessagesWaiting .

Почему так?
Видится очень простым опционально добавить этот параметр в структуру и разрешать, скажем, дефайном, если это удлинение структуры (на один 'long') и удлинение времени выполнения (на один 'if(actual>max)max=actual;') действительно критично.
Можно, конечно, и в основном коде наколхозить, на каждый вызов, ведущий к записи в очередь. Но это значительно более наворочено и непрозрачно по коду получается, чем просто встроить напрямую в тело FreeRTOS опционально разрешаемый код и дополнительный параметр в структуре.
А может в новых редакциях FreeRTOS уже добавили что-то вроде моей хотелки?