I had some success addressing the two issues I mentioned
1. The error handling was not occurring: I think this was just user error on my part. My development environment has the customErrors attribute in the web.config set to "RemoteOnly". When I set that to "On" my error page was loading as expected.
2. Control over the timeouts: Due to some long running operations after the upload the AJAX call was timing out after 90 seconds. This was easily fixed by increasing the timeout on the ScriptManager. The timeout defaults to 90 (seconds) so it just has to be set to something that makes sense for your app
<asp:ScriptManager runat="server" AsyncPostBackTimeout="300" />
So things seem to be working for me but I am still curious why the AJAX callback occurs. The SlickUpload control is in an ASP.NET UpdatePanel that has a few AsyncPostBackTrigger definitions. None of the controls in these definitions are for starting the upload. They just handle changing around the UI a bit.
The part that actually submits the upload is a button that calls some Javascript which validates some of the other input elements on the page and when it is done calls the submit() method on the SlickUpload control.
The page with the control has a bunch of dependencies so I don't have a nice simple example of it that I could send you. I'll try and boil it down to the basics and send that along when I get a chance. In the meantime maybe there is enough info here to figure out why the AJAX callback occurs.
Thanks,
Brian