I always thought of it as, the game itself is only as smart as a pig, and can't differentiate between copies.
You buy the Silver on top of the pile, something happens and it goes away, but later when it comes time to gain the silver you bought, you treat the one on top of the pile as though it has the same identity as the one you bought because the game doesn't know the difference. "Naivety theory"?
That explanation makes it obvious why you can't buy from an empty pile. You can only try to buy the top card of the pile. Then you gain that card, or a card you can be fooled into thinking is that card, which means it will need the same name.
By the way, I'm pretty sure you can reconstruct the situation in OP without using a fan card, and it's always nice to avoid using a fan card for a rules question if you can, right? Haggler + Gold + buy Dame Anna -> gain Squire -> Reveal Watchtower -> Trash the Squire -> gain Dame Anna -> fail to gain Dame Anna.