That is true thorpe, but with appropriate output buffering and headers, you can indeed change the filename. The key would be taking the headers out of the output buffer, and sending your own.
header("Content-type: application/x-download");
header("Content-Disposition: attachment; filename=$new_name");
header("Content-Transfer-Encoding: binary");
Would work dandy, assuming you removed the previous headers.