Промежуточные вычисления INTEGER компилятор размещает в INTEGER. Ну и только в финале переводит к типу LONGINT.

Если планируете, что будут длинные результаты, то лучше переменные делайте длинными целыми. Или преобразуйте в LONG прямо в выражении.

Вот так:
## Код:
```
total := LONG(block) * LONG(sector) * LONG(number);
```
