I had lot of trouble in my last project due the html body onload event. The aspx pages were relying lot on this event ( I agree its not the best way, but we don't have the budget and time for to rebuild the entire site). These sites were AJAXyfied recently using Telerik RadControls, and were not working in FireFox. I must admin Telerik controls are really good, its makes your job very easy in AJAX world. Though I don't like their quarterly release idea. YES, they release a new version every quarter...
So the problem in AJAX is, the page can be loaded asynchronously, so when the onload event on the body is fired the controls may not be ready, so you get null exceptions.
The best way I found is to use the built in ‘pageLoad()’ method(this is a reserved method). This will be called once all AJAX load events are finished. Remember you can use this only in AJAX pages. Also this is consistent in different browsers. (If you are going with FireFox you have to use window.load=function() instead onload=function())
Coding is fun
-Rujith