Вообще это своего рода защита.
Когда создавался CodeIgniter (да и почти все относительно взрослые сейчас фреймворки) наиболее распространены были хостинги вроде сверхпопулярного когда-то DreamHost, где нельзя было вынести файлы за вебрут. Файлы, в том числе весь код приложения и фреймворк, размещались в вебруте. Чтобы ещё более расширить возможности деплоя на ущербных хостингах, где даже .htaccess не работает, была веедена проверка на BASEPATH. Она более-менее гарантирует, что напрямую файл нельзя будет запустить.