Ich denk mal, das Endschalter zu spät reagieren.
Es kommt halt darauf an, wie schnell der Wagen auf dem Seil fahren soll.
Denn ist das Teil zu langsam ist der Schreck Effekt weg.
Evtl. wären Ultraschall oder Infrarot Abstandssensoren die bessere Wahl.

Wenn Du einen Gleichstrommotor benutzt brauchst Du eine Umpolung des Motors - Der Wagen soll ja auch wieder zurück fahren.
Das geht am Einfachsten mit 2 Relais.
1 Umpolrelais ( 2xUM ) und eins zum Ein- und Ausschalten des Motors.

Ich würde die komplette Elektronik in den Seilwagen inklusive Akku integrieren.
Wenn der Antrieb extern erfolgen soll bräuchte man ein eigenes Zugseil oder zumindest ein umlaufendes Seil.
Der Vorteil wäre dabei, das man das Teil mit einem Netzteil betreiben könnte.

Oben wären evtl 2 Seilrollen sinnvoll und unten eine dagegen.
Dadurch würde das Seil Quasi zwischen den Seilrollen eingeklemmt.
Eine, oder besser beide Rollen oben sollten angetrieben werden.

Wenn man das Gebilde zwischen 2 Platten verbaut, kann der Wagen auch nicht vom Seil abspringen.

Für den Bewegungssensor könnte man evtl. einen Bewegungsmelder ausschlachten.
Ein Radarsensor wäre auch eine Option, benötigt aber einen zusätzlichen Verstärker.

Der Arduino ist sicher keine schlechte Wahl, muss aber programmiert werden.
So eine Schaltung geht sicher auch noch mit Logik Bausteinen erfordert dann aber auch noch einiges an Hirnschmalz.