r benutzt du garnicht, kannst du also wegschmeißen.
Die Multiplikation von v mit k sollte erst nach dem bewegen passieren. Dabei solltest du k näher an 1 wählen, vielleicht 0.95 oder so.
dT brauchst du mit deiner Update schleife nicht, kannst du also auch kicken. Mir ist auch nicht ganz klar was das dT.Zero macht. dT sollte eigentlich die Zeit sein, die ein Update Zyklus bei dir braucht, ist in deinem Fall also immer konstant und wäre sonst ein eventuell etwas geglätteter Wert der Zeit des vorherigen Frames.
k sollte dann übrigens auch von dT abhängig sein, wobei einfach multiplizieren falsch wäre. Stattdessen würde man wohl eher v.x -= v.x*dT*k machen oder sowas. In deinem Fall ist das multiplizieren aber okay.
Angenommen du benutzt dT würdest du damit auch noch v in dem move multiplizieren.
Ich weiß natürlich nicht ob davon jetzt irgendwas mit deinen Problemen hilft, das sind aber die einzigen Dinge die mir auffallen.