Кек правильно выбрать единственный элемент массива, который тоже является массивом?
Но, когда картинка всего одна, то в FILE_VALUE хранится сразу массив
Нормальное решение - поправить вот эту логику заполнения.
Если должна быть коллекция - значит должна быть коллекция. И пофиг, из десяти, одного элемента или вовсе пустая.И указанный выше цикл дает неожиданный результат 
Хочу напомнить, что даже PHP 5.4 живёт последние 10 дней. Обновляйте PHP.
Я всё-таки надеюсь, что вы даже не пытаетесь что-то разрабатывать с выключенным выводом ошибок. А начиная с 5.4.0 обращение к строке как массиву по строковому ключу провоцирует E_WARNING. Но первый байт (по нулевому смещению. т.е.) при этом всё ещё выводится.
Перед foreach сделайте if, которой функцией count (https://secure.php.net/manual/ru/function.count.php) будет проверять количество элементов в массиве. Если более 1, то ваш вариант, который приведен в вопросе, иначе тупо обращайтесь к $arResult["DISPLAY_PROPERTIES"]["MORE_PHOTO"]["FILE_VALUE"][0].P.S. Возможно есть вариант более правильный, подождите других ответов)