Ich seh gerade, dass die Anfangsgeschwindigkeit des Balles schon zwischen 3 und 11

Pixel pro Timer-Intervall liegt. Ich würde stattdessen lieber das Timer-Intervall runterstellen (ca. 20). Dann kannst du eine niedrigere Startgeschwindigkeit wählen. Wie hoch ist denn dein Timer-Intervall?
Eine andere Möglichkeit gäbe es auch: Wenn die Geschwindigkeit z.B. 10 beträgt, in Ball_berechnen ne Schleife von 1 bis 10 laufen lassen, und immer nur um 1 verschieben, Kollisionsabfrage, um 1 verschieben, Kollisionsabfrage usw.
PS: Du hast den Anhang vergessen.