I had that problem for quite a long time. Changing the maximum allowable file size in SharePoint, or web.config doesn't help. I will just keep hitting a 404 error. Very frustrating indeed.
It was until recently, I found this KB, http://support.microsoft.com/kb/944981/en-us. It states that you will not be able to upload files bigger than 28mb, unless you add the following into the web.config, which will allow you to upload 50mb file into SharePoint, the default configuration.
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800"/>
</requestFiltering>
</security>
</system.webServer>
Add this after the configSections, and change the maxAllowedContentLength to [YourMaxFileSize] * 1024 * 1024, and you are done!
I have a slight background in BizTalk, after having the luxury of working with a BizTalk Expert in one of the projects. BizTalk doesn't really differentiate short running processes from long running processes by requiring the architect to first categorise the business processes, and then use either ESB or BPM to host them. Unlike the other camp, (OK, I haven't really went through IBM's training, just Oracle because of the recent acquisition) which requires you to do so, as ESB does not keep the state of the processes. This means that if the architect uses the wrong tool to do the job, system resources will be wasted. But BizTalk automatically releases the resources if the process is long running. I guess there are pros and cos, as gut feel is the ESB created by other vendor would be much more efficient compared to BizTalk. But I also think it adds unnecessary complexity.
What do you guys look at when evaluating ESBs?