Не знаю, почему. Но можно было бы сделать так:
## Код:
```
MODULE TmpM1;

   IMPORT SDL := Sdl2Sdl;

   TYPE
      Bitmap* = POINTER TO RECORD
         surface: SDL.Surface;
         w*, h: INTEGER
      END;
      RectDesc = RECORD r: SDL.RectDesc END;
      Font* = POINTER TO RECORD
         bmp*: Bitmap;
         charW*, charH*: INTEGER;
         charRows*, charsInRow*: INTEGER;
         sprites*: POINTER TO ARRAY OF ARRAY OF RectDesc
      END;

   PROCEDURE P;
      VAR font: Font;
         res: SDL.int;
   BEGIN
      (* ... *)
      NEW(font.sprites, font.charRows, font.charsInRow);
      res := SDL.FillRect(font.bmp.surface, font.sprites[0,0].r, 0)
   END P;

END TmpM1.
```
