I had a deck with Danitha Benalia’s Hope, Blade of Shared Souls, and no other Equipment or Auras in it.
Somehow during a game I managed to cast my first Danitha late enough that I had all 4 of my Blade of Shared Souls in the graveyard (along with 7 other cards). (Not 100% sure how they go there but my Planeswalker was Dakkon, and I also played with Overlord of the Floodpits, so there were plenty of ways I could put cards in my graveyard myself even before Greg started doing it for me)
Cast my first Danitha of the game: She failed to fetch a card.
Cast my second Danitha of the game: She failed to fetch a card.
That’s not right, is it? If a card tries to fetch a card from a library, and there are 0 copies of it remaining in your deck currently, then the game should add extra cards to your deck so that it does now contain a legal fetch target. That’s how many other cards in the game work now: Deploy the Gatewatch, for example, in decks with HUF and/or Omni, are capable of playing dozens of copies of Deploy without failing to fetch any cards. Many fetch cards in Legacy are capable of going into infinite loops.