Hi Andrew,
Stupid question, why don’t you use the OpenEXR Format then, as that works as expected?
It is much better than PNG and usually even smaller in file size.
The main issue would probably be, that PNG format doesn’t handle Alpha’s very well.
The only reason to use PNG’s, would be, that they are more generally accepted. But if it’s for use within Blender, there is no reason to use (some people would say: ‘cripled’) PNG’s.