That's because it can be shown that you have no pokemon in your discard pile. It's public information. You can't show a lack of Eevee in the deck unless the deck is empty; you can only deduce it. The game is stupid; you have to show directly, not indirectly.
Is that really the case, or is it just an impossible play? I think this is the exact same situation as if you try to Candy a Chimchar but you don't have an Infernape in your hand. You play the Candy, choose your pokemon, "ummm... guess I can't complete this effect," and then you have to take it back into your hand. That would be sufficient to stop Candying of Darkrais. Also, the whole concept behind Rare Candy assumes you know the evolution lines. Like, Infernape says, "evolves from Monferno," and at that point you have to just know that Monferno evolves from Chimchar, even though it's not written on any of the cards involved. So since evolution lines are considered to be known, you can't try to evolve an unevolvable pokemon. That's a possible alternative justification.
Although, could you use, say, Evoluter, on a last-stage evolution? Hmmm...