Проблема уточнилась
Программа не хочет делить на дробное число.
Если заменить ту строчку на которую она ругается сейчас - та же ошибка выскакивает на строке где другое деление.
Заменил все типы Double на __Real и обозначил в типах _Real как Real - чтобы можно было снова вернуться к дабл.
Косяк все тот же.
Ссылка на последний вариант
http://www.muscat.torchok.net/Diff/Kurs.rar