No, you don't have to add or remove the RadWindow to and from the visual tree because this may cause some interruptions to our internal layout system for the popup itself. What you can actually do is to get the button's position relative to the RadWindow itself and just use the Left and Top properties of the RadWindow itself to get the absolute position of the button in respect to the root visual. Here is a sample code that I believe should resolve your problem.
|RadWindow window = new RadWindow();
|GeneralTransform transform = button.TransformToVisual(window);
|Point pnt = transform.Transform(new Point(window.Left, window.Top));
Or if you inherit the RadWindow, just use "this" instead, and make sure the control template is already applied so your button won't throw "Object reference not set to an instance of an object" whenever referring to it. I hope this will resolve your issue.
the Telerik team