Это не в Pascal, а в ЛЮБЫХ компьютерных вычислениях с вещественными числами. И вызвано это тем, что десятичное 0.1 является бесконечной двоичной дробью - при преобразовании десятичного вещественного числа в двоичное возникает погрешность.
Такими и подобными вопросами занимается вычислительная математика - какая будет погрешность из-за переводов десятичная<>двоичная системы и как ее минимизировать. Дробные числа в компьютерах часто представляются приближенно, хочешь получить все верные цифры - округляй. В частности, калькуляторы считают обычно тоже с 3-4 запасными цифрами и при выводе на экран округляют. Программист должен знать, в числе прочих видов математики, вычислительную математику. Например, даже решение квадратного уравнения квалифицированно проводится не по школьным формулам, а по формулам, минимизирующим возможную погрешность вычислений.