when i change the parent of a node with the depth of 6 to a parent with dept 4,
the depth_cache of that node gets updated, but not the depth_cache of its children.
I got around this by adding before_save :cache_depth to my Node model.
It seems the depth caching is currently done in a before_validation callback that doesn't get called when update_descendants_with_new_ancestry is called as it uses update_attribute, which skips validation.
I think I ran into the same issue. I'll see if I can write a fix for it.
Fixed in 2.0 by #74