private object GetScriptManager()
foreach (DictionaryEntry entry in Page.Items)
if (entry.Key.ToString().IndexOf("Microsoft.Web.UI.ScriptManager") >= 0)
throw new ArgumentException("...");
Then calling the RegisterStartupScript method (as well as a few others) was a piece of cake. We used reflection to call those methods it worked.
Luckily all MS AJAX related code lives in a base class so those changes will be picked up by all controls.
We will do our best to release a new service pack addressing MS AJAX Compatibility issues next Monday. Have in mind that the service pack release will no longer support older versions of ATLAS.