C. S. Lewis is a respected writer of children's stories and Christian apologetics, but I'm afraid that his logic isn't always sound, but is based on anecdotes, selective memory of history, and special pleading.
First of all, how can anyone claim that a person can disobey the law of human nature (assuming such a law does in fact exist)? By definition, a human could never disobey this law because anything a person does is following his human nature. There is no 'unnatural' act when it comes to humans. Is riding a bike 'unnatural'? Is lying 'unnatural'? Human nature includes these and all other things that humans do.
Also, ther ARE large differences in how other cultures now and in history have treated their fellow human beings. Morality and ethics are relative. Today we (most, not all in modern society) think Slavery is barbaric, mistreatment of women primitive, and killing of unwanted infants (already born) as unthinkable. Even today people have vastly different views on abortion, capital punishment, sex before marriage, extramarital sex, homosexuality, stealing, murder, war, etc. These issues are not black and white. There is no one standard that all human beings can agree on.
C. S. Lewis was writing in his own little world. He wasn't taking into account how things really happen today and in history.
rem
"We all do no end of feeling, and we mistake it for thinking." - Mark Twain