I've tried many variations, some with flush, some without. It hasn't seem to have made a difference. I toyed with ob_flush and the like as well, but it hasn't made a difference. I changed the implementation to use readfile(), similar to fpassthru, but have always received the same results.
It was suggested to me that it might have something to due with the header() calls, and I have tried several variations with no success. Most header suggestions seem to be just shots in the dark.
It's possible the problem might be because I am not using a Content-length call. This is because I can't seem to use filesize() with a url, and the files I am dealing with are remote and web-mounted. Still, I have seen many examples that have not used Content-length, so I do not think that is the problem.