One of the more puzzling constructions in Spanish...
What gets me is the fact that both verbs involved are in present tense. My understanding is that the nature of the "hace [tiempo]" construction does require that whatever you're asking about continue to be true into the present time; you're attaching an earlier starting date to something that can be thought of in present tense. So, you can say, "Hace tres mil años que el Rey Tutankhamun lleva muerto." It has been three thousand years that King Tut carries* deadness. This conception sorta helps make it work in my head, but I still find the construction strange. Even stranger than subjunctive, and don't get me started on how bizarre I find the use of subjunctive. (In particular, how come I don't use subjunctive with "creer"? When I say, "I think that X", I almost always mean that I believe it, but am not certain of it. If I were certain of it, I would simply state proposition X. So why do we get indicative with "creo que X", but subjunctive with "espero que X", I hope that X.)
If you want to talk about something that isn't true anymore, I'm pretty sure you have to use something else, like "[tiempo] atrás", which you might translate as an amount of time aft; "X está detrás de Y" says that X is located in a place behind Y, whereas the "a" particle in "atrás" gives a sense of movement and directionality, towards the back. To say "I spoke Spanish pretty well fifteen years ago, but I've forgotten a lot," I use, "Hablaba español bastante bien quince años atrás, pero he olvidado mucho." I think this is pretty good idiom, but I'm not entirely sure. I don't suppose anyone out there is a fluent enough speaker to comment on this? (Maybe kragen and paisleychick?)
* "Llevar" can mean "to carry" or "to wear", but it can also be used with adjectives like "muerto", dead, and "casado", married -- although that one almost always gets used in the plural, casados, for obvious reasons. These days some of y'all might even be llevando casadas. Hooray for diversity! :-)
ETA: Rosetta stone gives some examples where they use a preterite verb with "hace [tiempo]", and they appear to mean ago. ("Mis abuelos se casaron en África hace cien años," appears to be "My grandparents married each other in Africa one hundred years ago.") So maybe at least in European Spanish that's the correct form? Blargh. I got taught kind of a mix of European and American Spanishes, because I had teachers who'd learned different ways, over different years of school. And then I forgot most of it, so it's all a bit of a muddle... :-/