@User137:
Well, I was wrong... It had nothing to do with sRGB (oops), it had to do with how I was reading in the IDAT sub-section headers. The problem is fixed now and the pas file is updated. Tried loading your png and now it loads just fine.

Thanks for finding the bug, and hopefully this fix helps you out.

@Everyone:
I did forget to mention that right now I'm only decoding non-interlaced PNG's. Once I get all the sections figured out and the bugs fixed, then I'll start on Interlaced images.

- Jeremy