Hahn finds two primary "Difficulties in the Case for Διαθήκη as Covenant" (80–81): (i) that "covenants were not always ratified by the ritual slaughter of animals" (my emphasis), and (ii) "it does not seem plausible that the two phrases θάνατον ἀνάγκη φέρεσθαι τοῦ διαθεμένου, 'it is necessary for the death of the covenant-maker to be borne,' and ὅτε ζῇ ὁ διαθέμενος, 'while the covenant-maker is alive,' are intended in a figurative sense." I have the same objection as no. (ii), but I'm not sure no. (i) has any force. It seems to me that the literal ritual slaughter of sacrificial animals in the making ("cutting") of a covenant/oath isn't necessary, especially since the image of slaughter had come to be associated with the language of oath-making. Swearing an oath, in other words, was deadly business even without the sacrifice.
Hahn's proposal, however, attempts to deal with objection no. (ii) head-on. He reads διαθήκη in 9.16–17 not as a reference to "covenant" in general (so ὅπου γὰρ διαθήκη = "where there is a covenant/will") but to the Mosaic covenant given at Sinai and broken by Israel. Hence the reference to "transgressions" [παραβάσεων] in 9.15: Since [ὅπου] there is a covenant (v 16), and since there were transgressions (v 15), death has become necessary [ἀνάγκη; v 16 again] (see Hahn 2005: 81–82).
I've never read Scott Hahn before, but I've enjoyed this essay and find it compelling. More than that, he makes some comments (e.g., pp. 70–1, esp. n. 15) that frame the Hebrews text in explicitly, persistently, and emphatically Jewish terms. This, I think, is the proper way to read the New Testament.