Это выдержки из хелпа, но не знаю насколько это поможет... :
Код
$R: Проверка диапазона
_______________________
Включает и выключает генерацию кода проверки диапазона.
Синтаксис: {$R+} или {$R-}
Значение по умолчанию: {$R-}
Тип: Локальная
Команда меню: Options|Compiler|Range Checking
Состояние $R+:
В состоянии $R+:
- Все индексы массивов и строк проверяются на принадлежность
допустимым пределам
- Все присваивания скалярным и поддиапазонным переменным проверяются на принадлежность заданным диапазонам
Если проверка принадлежности диапазону не выдерживается, то программа
завершается и выводится сообщение об ошибке времени выполнения.
$R+ не влияет на процедуры Inc и Dec.
Включение проверки диапазона замедляет вашу программу и делает ее больше.
Используйте эту опцию при отладке, затем выключите ее, если уверены, что в вашей программе нет ошибок.
P.S.: Я только не понял, это что, уже дело принципа - заставить машину выдать ошибку?