Ich denke mal, dein Ansatz hier ist falsch:
Delphi-Quellcode:
procedure Reibungskugel.bewegeDich (pGeschwindigkeit:Zahl);
begin
zGeschwindigkeit:=zGeschwindigkeit-zReibung;
INHERITED bewegeDich(zGeschwindigkeit);
end;
Du ziehst bei jeder Iteration eine Konstante Zahl von der Geschwindigkeit ab. Damit wird die Geschwindigkeit irgendwann mal negativ und auch unbegrenzt größer. Da ich nicht weiß, wie ein Buntstift auf negative Geschwindigkeit reagiert, kann ich das Ergebnis auch nicht vorhersagen.
Physikalisch ist Reibung proportional zur aktuellen Geschwindigkeit. Das kannst du einfach durch Multiplikation mit einem konstanten Faktor erreichen - z.B. so:
Delphi-Quellcode:
procedure Reibungskugel.bewegeDich (pGeschwindigkeit:Zahl);
begin
zGeschwindigkeit:=zGeschwindigkeit*(1 - zReibung);
INHERITED bewegeDich(zGeschwindigkeit);
end;