I've got a lot of different 7970 cards and the XFX ones are the worst i've ever used. My Gigabyte ones will fly over 700 a piece of cake, my Diamond ones will do over 600 without much effort, but the XFX ones i'd be lucky to hit 550 no matter how much tweaking or OC'ing.
But did you flash? It's the flashing that usually gets them from 550 Kh/s up to 700Kh/s...
The XFX ones i have are 925 core edition, isn't that what i'd want the bios to be anyway? Or is there more to it than that?
There is more to it. It's the actual BIOS, rather than the settings the BIOS sets the card to, that seems to be the problem on certain cards.
It depends which xfx you have, but i had a couple of guys now i think who have gone from 550Kh/s up to 700Kh/s with certain XFX cards after a BIOS flash. If you are using the setting i suggested and still only getting 550Kh/s then i'm pretty confident it's the BIOS holding it back - I am not sure which XFX Bios would work, but you'd have to have a look.