Я не использую TPNGImage, но я попробую сделать это ... поддерживает ли он свойство Pixels или Scanline? Если это так, вы можете скопировать только те пиксели, которые вам нужны, вручную установив значения r, g, b и a. Я делаю это много с растровыми изображениями pf32bit. Рисование этого, как вы заметили, не сохранит прозрачность. Вы должны установить альфа-значение вручную.
Если TPNGImage не поддерживает пиксели или линию сканирования, вы можете сначала преобразовать png в растровые изображения и сделать это таким образом.