Tim, we have this logged in our TODO but only a few customers have asked about it and the priority is low. In addition, this is general AJAX behavior which is not introduced by RadToolTip. I can confirm that embedding this in source code will be considered in future but for the time being, please use the workaround we have provided.
Matt, I am afraid that I could not completely understand what is the problem you experience - even if the tooltip is in a custom control, you can handle its client events and check if the page contains a specific js function (which is the one saving/restoring scroll position). Then you should simply call it in case it exists , otherwise - do nothing. In this manner your custom control will work on all pages, no matter you have put the script on the main page or not. As to our demos - they are straight forward on purpose because their goal is to show basic and particular functionality - if they are complicated it will be harder to detect the exact code related to the feature you are interested in. In addition, we have a few bigger projects as the car rental, outlook mail, dashboard, etc which you can also download and use. At last, the behavior in mention is not directly related to RadToolTip but to MS AJAX as already explained - if you remove the tooltip from your custom control and put an update panel with a button instead, you will get the same result.
All the best,
the Telerik team