I've found a bug in XeTeX image handling. Once it has created a .rli file for an image, it doesn't recalculate dimensions after the image is changed.
I tested it with .png image, 1-bit (black-and-white). When I crop the image, both its size and datetime attribs are updated. Nevertheless, running xetex again produces distorted image, stretched to the old dimensions. I can only make xetex to rebuild .rlis by deleting them manually each time.
Generally, I don't understand why XeTeX is so stupid that it relays upon the external tool (ImageMagic) to calculate image dimensions. ConTeX performs much better at this point. (How I'm longing for it supporting system fonts!).