Darn, I thought we might have something with this. There is one thing that I noticed about the values you filled in for the path you have this:
sermon-attachments/
Do you know the server file system path to this location, the way the script is setup it is expecting a file system path and not a URL to this location. If you do not know the file system path attached to this post is a php script that will tell you where it is at when you run the page. You should put this page inside of your sermon-attachments directory and run it to obtain the correct file system path. Once you have this please plug it in to the download test script to see if you have a better result. Please let us know what you experience.
I have asked around to see if anyone has seen this type of thing or know of what may be responsible and since you can view the files directly in the browser it seems that it may be a php setting that is causing this. I'm not sure what setting may be responsible for this but perhaps safe more or some other setting that would interfere with sending headers to the browser.