Это действительно не ошибка. Вспоминайте представление чисел в двоичном коде. Величину шага 0.2, например, точно представить невозможно, она выглядит как 0,0011001100110011...
Поэтому в результате сложения таких "неточных" чисел приходится отбрасывать младшие разряды. Но если для чисел, далеко отстоящих на числовой оси от нуля, при отбрасывании остаются значащие цифры в старших разрядах (0.2 = 0.199... 999 и 0.2=0.200...001, то для величин, близких к нулю, остается только сама погрешность. Её мы и видим и именно её Вы назвали ошибкой.