How are you loading the PNG? Also, are you making sure the PNG is being converted to 32-bit RGBA? If you're using libpng directly and you're using the "high level" loading functions, you can pass some flags to get it to convert to that format for you.
What format is this PNG, by the way?
PS: PNG supports a ton of formats (between paletted, grayscale and RGB along with alpha or not alpha and 8-bit or 16-bit components - or even 4-bit in one case). Be careful. Luckily you can still turn it into 32-bit RGBA only so don't bother much about that if you tell libpng to convert it on its own.