When I open a specific png file in IE6, it just displays a red X, which looks like image not found error. It works fine in other browsers. Some other png images can render correct in IE6. I checked the can-render png with can-not-render png with fiddler, I found the can-not-render png is only 150 bytes. I wonder if the too small size causes the problem.
Update:
Finally, after communicating with the guys providing these png files, they told me that it is png compression issue. If you compress png file much more, it may break in ie6 sometimes. So the workaround is to sacrifice size of png file during compression, and it does work.
Anyway thank guys in stackoverflow as well :)