Does such an encoder exist? The GDI+ one is not very fully featured. For example, it will always render out 32bpp images, even if you're using 8bpp indexed in-memory.
I'm about to start writing out a lot of PNGs from a web server that should really be 8bpp indexed with transparency (PNG supports alpha levels in the palette). I want to do this with native .NET (and unsafe code) for performance reasons, so please don't suggest ImageMagick or FreeImage.
The longer this question goes unanswered, the further through the PNG specification I will have read :)