Please make sure to always call
set_global_pos inside a fixed process for physics objects, even when resetting them. See the docs.
This is a very common pitfall when dealing with Godot physics. It tricked me more than once.
var should_die = false
should_reset = false
# Will always work
# Might not work
# same goes if called from _process or input signal/_input callback
EDIT: The same apply for
set_angular_velocity. Setter and getters alike (you might get incorrect values from getters outside of the fixed process).