In fact, this point is explained in MQX User Guide. However since MQX could run on different platforms and it is highly configurable system, explanation could be quite complicated and it could be simple overlooked.
I will initialize discussion with designers whether we could add some additional simple notes to documentation.
Please check chapter 3.9 Handling Interrupts and Exceptions and mainly chapter 3.9.3.4 MQX_HARDWARE_INTERRUPT_LEVEL_MAX Configuration Parameter
“On Cortex-M4 and Cortex-A5 core based platforms, the MQX interrupt processing is designed this way. Kinetis K MCUs support 16 hardware interrupt priority levels. Internally MQX maps even levels (0, 2, 4, .., 14) for the MQX applications while odd levels (1, 3, .., 15) are used internally. MQX application interrupt levels are 0 to 7, the mapping from MQX application levels 0 to 7 to hardware priority levels (0, 2 to 14) is implemented in the _bsp_int_init() function.”
The MQX kernel implements critical sections using the ARM Cortex-M core's BASEPRI register. This allows the MQX kernel to only mask a subset of interrupts, and therefore provide a flexible interrupt nesting model. So, due to interrupt mapping, task with too high priority simply mask some interrupts.
Everything is slightly more complicated due to MQX_HARDWARE_INTERRUPT_LEVEL_MAX macro, but basic recommendation is that you should use task priority level 7 and above (Lower number is for higher priorities, e.g. prio 6 is used for RTCS task). In that case you can be sure that your task will not mask any of interrupts or important part of MQX. For details please see table Figure 3-5. BASEPRI Register Values for Different Task Priorities and Different Values of MQX_HARDWARE_INTERRUPT_LEVEL_MAX in MQX User Guide.