See Kroonen's etymological dictionary of proto-germanic, p. 242. As I added in the etymology, it comes from (irregular) metathesis of *krów-yom > *króy-wom > *hraiwą.
That's very ad-hoc don't you think?
Perhaps, but it fits semantically and there's a reliable source for it.
Even linguists can have strange ideas. I think this would be good to bring up at WT:ES.