There are tickets from 3 years ago that claim that nested CRITICAL_REGION_ENTER calls are not supported. Or they are supported if you write your own macros.
It appears to me that they are supported as long as SOFTDEVICE_PRESENT is defined. The macro takes a pointer to a uint8_t which is updated by app_util_critical_region_enter() to indicate that you are in a nested region. Since this is a output, not a input it appears that the current implementation does support nesting.
Please confirm....