Looking for an ActiveX Component capable of rendering PNG’s transparency and translucency
See the question and my original answer on StackOverflowThe libpng site has a full list of implementation:
Programming Libraries and Toolkits with PNG Support
This one looks interesting (open source, win32 support): http://www.paintlib.de/paintlib/ (untested). It's not maitained anymore but source is included, and there are not many reason to face big issues today if it used to work well during many years.
It's not COM-based, but is it a problem for you?