It is something to do with wp-minify. It corrupts the file probably due to whitespace.
The uploaded picture is not corrupted, the single pic with wp-minfy disabled is not corrupted.
Corrupted file tests:
convert crap.png foo.png
convert: Improper image header
'crap.png' @ png.c/ReadPNGImage/2923.
convert: missing an image filename 'foo.png' @ convert.c/ConvertImageCommand/2838.
pngcrush crap.png foo.png
| pngcrush 1.7.0
| Copyright (C) 1998-2002,2006-2009 Glenn Randers-Pehrson
| Copyright (C) 2005 Greg Roelofs
| This is a free, open-source program. Permission is irrevocably
| granted to everyone to use this version of pngcrush without
| payment of any fee.
| Executable name is pngcrush
| It was built with libpng version 1.2.40, and is
| running with libpng version 1.2.42 - January 3, 2010
| Copyright (C) 1998-2004,2006-2009 Glenn Randers-Pehrson,
| Copyright (C) 1996, 1997 Andreas Dilger,
| Copyright (C) 1995, Guy Eric Schalnat, Group 42 Inc.,
| and zlib version 220.127.116.11, Copyright (C) 1998-2002 (or later),
| Jean-loup Gailly and Mark Adler.
|| Warning: versions are different between png.h and png.c
|| png.h version: 1.2.40
|| png.c version: 1.2.42
| It was compiled with gcc version 4.4.2 and gas version 2.20.
While measuring IDATs in crap.png pngcrush caught libpng error:
PNG file corrupted by ASCII conversion
Total length of data found in IDAT chunks = 0
Could not find file: foo.png
CPU time used = 0.000 seconds (decoding 0.000,
encoding 0.000, other 0.000 seconds)