Может это и оффтоп, но у меня есть такая же проблема (illegal memory read) с использованием Kernel только  в другой профиль, при компилировании программы в простом BB1.6rc6.

Чем моя программа провинилась? Может это поможет отловить ошибку.

При 10 000 работает, а при 14 000 нет! При создании массива любого размера (проверял до 50 000) руками без NEW() проблемы нет, прекрасно все работает.
## Код:
```
MODULE OglLessonBall;

   TYPE
      Vector = ARRAY 3 OF REAL;
      Ball = RECORD
         pos: Vector;
         r: REAL;
         active: BOOLEAN;
      END;
   VAR
      system: POINTER TO ARRAY OF Ball;

   PROCEDURE Main;
   BEGIN
      NEW(system, 14000);
   END Main;
BEGIN
   Main;
END OglLessonBall.
```


проблема решена
добавлением NEW(starter) где stater: POINTER TO RECORD END;
http://forum.oberoncore.ru/viewtopic.php?f=2&t=2001&p=62906#p62906

Спасибо Евгению Темиргалееву занаводку