Well, I am not much of a DTD expert either. But I am pretty sure that the entity definition is there just so that somebody at a keyboard can type
€
instead of having to remember that the Euro character is Unicode character 20A0 and having to type
₠
This sort of thing is not an issue when it's a computer generating the XML, and in fact I don't even know if it's possible to get an XML serializer (the code that takes an internal form like a DOM and makes it into a text document) to use entities like that. So the serializer won't be putting € into the document, and therefore the entity declaration doesn't do anything.