После нескольких минут изучения того, как использовать Инструменты разработчика (F12 в Chrome / IE), я наконец-то дошел до корня проблемы.
Я собираюсь предположить, что здесь справедливо одно из двух:
1. Главное меню находится на главной странице, а элемент управления ModalPopupExtender находится на дочерней странице.
2. Элемент управления ModalPopupExtender размещается в том же элементе div, который содержит остальную часть содержимого страницы (за исключением главного меню), и этот элемент div имеет z-индекс ниже, чем элемент div, содержащий главное меню. (Даже если вы не указали эти значения z-index явно, эти div'ы будут наследовать значения автоматически.)
Если ваша ситуация относится к первой категории, то вот что происходит: сгенерированная разметка помещает лайтбокс в один элемент div вместе с остальным содержимым дочерней страницы (скажем, wrapperContent), а главное меню - в другой (скажем, wrapperHeader). Z-index для wrapperHeader ДОЛЖЕН быть больше, чем z-index для wrapperContent, в противном случае подменю упадут ниже содержимого при их раскрытии. Теперь, независимо от того, какое значение z-index вы указываете для лайтбокса, оно всегда будет отображаться под каждым элементом в wrapperHeader, так как он наследует свой z-индекс от wrapperContent, который ниже, чем у wrapperHeader.
Аналогичное объяснение следует в случае, если ваша ситуация попадает во вторую категорию.
@ Джек Маркетти, это также объясняет, почему это исправлено, когда вы помещаете лайтбокс в отдельный элемент div, отделенный от содержимого остальной части страницы.
Надеюсь, это поможет.