I'll try to look at this before I go on vacation. I want to get the latest (and greatest) Phatch 0.28 pre-release out this evening and I'll try to squeeze this in. It looks to me like an endian issue. Mac's used to be PPC/big-endian and of course they're now mostly Intel /little endian. I have an elderly powerbook/PPC Mac and a super-dooper intel iMac.
The other thought is that I think pixels can be written in the BMP as RGB or BGR (there's something in the 56 byte header to say which. I don't think I've ever encountered a BGR/BMP - maybe yours is the first. And your suggestion that the color table's wrong (if it's a palletized image). Or the pixels are upside down! Lots of interesting possibilities.
Let me run this on a couple of machines and get back to you.
Thank you for saying nice things about Phatch. I agree with you. Stani's concept in Phatch is quite excellent and that's why it's a privilege for me to contribute to the project. Thank you for taking the time to bring this to our attention.