Does this passage make you uncomfortable -- not morally but grammatically? Do you have the sneaking urge to change "him" to "he"?
Let him who is without sin cast the first stone.
I'll be the first to admit it -- "him who" sounds funny to me. Yet if we remove the relative clause (who is without sin) in the middle of the sentence, look what happens:
Let him cast the first stone.
Here it seems so obvious. You would never say "Let he cast the first stone"; but when we place the who next to the him, we feel awkward. That is because who and him are in different cases, and we want them to match up. The reason they don't match up is that they serve different functions in the sentence: him is an object, so it is in the objective case; who is a subject, the subject of is, so it is in the nominative case.
Like Latin, English used to have a system of cases for nouns and pronouns. That is, the noun or pronoun took a different form depending on its function in the sentence. In Latin, for example, homo, meaning man, is in the nominative case to show that the word is the subject of a verb; hominem, also meaning man, is in the accusative case to show that the word is the object of a verb; and hominum is in the genitive plural case to show that the word is a plural possessive. There were more cases in Latin and in Old English, but you don't need to know them to understand how case works in modern English. If you would like to read more about the evolution of English, George Boeree's site is an excellent resource.
English now uses case to distinguish singular, plural, and possessive nouns, but other noun cases have faded away; however, we still use a full array of case markers in pronouns:
For singular subjects: nominative singular I, you, he, she, it, who
For singular objects: objective singular me, you, him, her, it, whom
For singular possessives: genitive singular mine, yours, his, hers, its, whose
For plural subjects: nominative plural we, you, they, who
For plural objects: objective plural us, you, them, whom
For plural possessives: genitive plural ours, yours, theirs, whose
It is important to remember to give pronouns the case that defines their function in their own clause. In the clause who is without sin, who is the subject, so it takes the nominative case. The easiest way to tell in the case of who and whom is by substituting he or him. You would never say, him is without sin, so you can't say whom is without sin. In this instance, who relates back to an object, him, but within its own clause it is a subject.
Relative pronouns always take the case that reflects their function in their own clause, not the function of the word they refer to (the antecedent) in another clause.