This is why I am still very cautious and conservative when using Ajax components in APEX applications. It's still too easy to create code that just doesn't play nice with browsers. It's also 100% impossible to discern what else a browser is running when your Ajax component is fired up, which makes it all the more difficult to ensure that your code doesn't step on someone else's.
For better or worse, perception is reality. If large-scale Ajax applications that the masses use degrade overall confidence in the technology, it will be even harder in the future to convince clients that even the smallest Ajax component in an APEX application is scalable, secure, and a good investment.