in revision 79 of better_nested_set.rb, lines 1006-1007 (in method move_to) are:
self.reload(:select => "#{left_col_name}, #{right_col_name}, #{parent_col_name}")
target.reload(:select => "#{left_col_name}, #{right_col_name}, #{parent_col_name}")
note that they do not include the scope condition. So if you call move_to on an instance of an ActiveRecord? (AR) object, its left and right column fields will be updated with the values of the first row in the table, rather than the one matching the scope condition.
The expected behaviour is for the left and right column fields to be correct after calling move_to.
The fix is simply to include scope_condition on these last two calls to reload.