Да, Вы не совсем правильно поняли.
Integers.Integer и INTEGER  это совсем разные типы:

Integers.Integer  =  POINTER

Читайте внимательно документацию к Integers.

В Вашем случае достаточно  i := ENTIER(l), а даже короче i := SHORT(l).