Apache and mime Types
Not that it has anything to do with your png problem, but in regard to your comment about web server handling everythign that you throw at it. In truth, Apache has to identify the file type and sent a header with the file that will tell the client what the file is supposed to be. (Image, Application, Text, HTML.. etc etc)... All known filetypes and header names should be in a mime.types file in your apache config. The kicker, however, is that http.conf defaults to type text for any unknown file types. Newer browsers that trust the header will try to open binary files right in the browser window if Apache does not recognize the filetype. (This is a bad thing.)... There is also a 'magic' module for Apache that tries to determine the filetype from its contents.
For my purposes, I find it much more useful to change the default in httpd.conf to application/octet. (The instructions are well placed in the coments). That way, browsers don't try to open unknown filetypes, but instead offer to dowload them or open with an application of my choice.