It's interesting that one of the first times I can remember reading something in the litter-ature and not being 100% kosher with the reasoning presented deals with this subject. The article was a QFR from the 1-Feb-1994 Watchtower that started with this:
God warned Cain that ‘sin was crouching at the entrance and for him was its craving,’ which seems to allude to a wild beast and its prey. (Genesis 4:7) Why would that language be used if before the Flood, animals ate only vegetation?
Now, I had never even given thought to this. So right away I'm caught off guard by the very question itself. Because yeah, from a common sense point of view, how exactly could have Cain understood what Jehoobie was talking about unless he understood predatory behavior? I read on, a little nervous, because I wasn't sure what the explanation could be. Here's a portion of it that pretty much gives you the gist of their reasoning:
What, then, of God’s warning to Cain, as we read at Genesis 4:7? Certainly the image of a savage beast crouched and ready to spring on prey would have been easily understood in Moses’ day, and we understand it too. So, again, Moses might have been using language adapted to readers familiar with the post-Flood world. And even if Cain had never seen such a creature, he would have been able to get the point of a warning that likened the sinful desire in him to a hungry, ravenous beast.
Now, this is an answer. But, it smacks of forcing scripture to conform to doctrine, rather than the other way around.
But, this was 1994, I was still relatively new in da troof, and not ready at all to entertain any serious doubts. I put the magazine away and I don't think I ever read a QFR again after this one. I just couldn't take the cog diss. There are many very smart JW's who accept, even embrace this kind of 'it had to have been this way' reasoning. I can't understand how they do it.