Cain's sin was that he didn't do the required type of sacrifice. There is no such thing as "good enough" for a Holy God. You say that many people believe that blood sacrifice is repugnant, and most Christians will agree, but it is shown very plainly in the Bible that the only proper sacrifice is through the shedding of blood. In times past, the people had to sacrifice animals to be forgiven for sins. Our sins (and that includes everyone in the world) are STILL only forgiven by the shedding of blood.
Because Jesus (the Holy "Lamb" of God) went to the cross and shed His blood, no one shall have to make blood sacrifices ever again. The story of Cain is just one of the many illustrations in the Bible that point us toward the truth: that there is only one method of receiving salvation, and that is through the shed blood of Jesus Christ.
I hope this clears up your question on Cain's sin.
Except that non-blood sacrifices are well-documented in the Old Testament.
other responses to Cain