Stopping a moving object in bge
You can't cancel velocities with a null vector (0, 0, 0). A null vector is treated as "no change".

You need to apply a very small velocity such as (0, 0, 0.00002).

This belongs to the Python code as well as the motion actuator.