Ok, hab die Lösung gefunden.
1) TImageSprite aus dem Code oben muss natürlich TBackgroundSprite heissen.
2) Ich muss in TBackgroundSprite.DoMove noch Collision aufrufen.
3) Damit das Sprite im Kreis korrekt mit den Rändern kollidiert (und nicht permanent mit dem ganzen Background-Image), muss man beim Erstellen des Kreises einen Umweg über eine TAdBitmap gehen, der man neben dem eigentlich Bild noch eine Alpha-Maske zuweist. Die korrekte Erstellung einer solchen Maske kann man in den Quellen des ImgListEditors sehen.
So klappts auch mit der Kollision.