Setze doch mal einfacher an:
Delphi-Quellcode:
[...]
var
geschwindigkeit:tpoint;
[...]
if (ball.left<feld.left) or (ball.left>feld.width+feld.left-ball.width) then geschwindigkeit.x:=-geschwindigkeit.x;
if (ball.top<feld.top) or (ball.top>feld.height+feld.top-ball.height) then geschwindigkeit.y:=-geschwindigkeit.y;
[...]
Das wäre doch bereits die komplette Kollisionsabfrage mit Änderung der Vektoren.
Edit: Schlechtschreibung