As a side note, you need to do a similar work on winemenubuilder, as it uses libpng and fails linking without modifications. to test this images i statically linked it to libpng, just to make it work, as it wasn't needed in your test. Thank you for working on this, since i'm not really an expert on this dynamical loading code and couldn't help.
Technically, winemenubuilder should be using windowscodecs for its png support, like the rest of wine. I believe Steven Edwards has done some work on this.