Except for one thing, I would agree with crbratu's translation to Italian because to convey the meaning of "had not seen" is the job of the past perfect tense, whereas DL seems to be stretching grammar by trying to make it the job of the imperfect tense. However, isn't the past perfect form "Lei non l'aveva veduto da anni"?
How about "She would not see him for years" in the sense that he'd disappear for years, then she'd see him again, then he'd disappear again, then reappear. I think this is the right tense for that situation.
If it were, "He was leaving, and she knew she would not see him for years", then a different tense is required.
Past perfect, actually, but it's normal with "da" indicating a stretch of time: http://italian.about.com/library/fare/blfare156a.htm
The imperfetto may also indicate for how long or since when something had been going on.
Da quanto tempo lavoravi? = How long had you been working?
Lavoravo da due mesi. = I had been working for two months.
Quanto tempo era che lavoravi? = How long had you been working?
Erano due mesi che lavoravo. = I had been working for two months.
The indicativo presente accompanied by (da + a time expression) indicates an action or state that began in the past and continues in the present; it indicates for how long or since when something has been going on. (Da expresses both for and since). English uses the present perfect tense [I have worked, I have been working] to express this idea.
Da quanto tempo lavori? = How long have you been working?
Lavoro da due mesi. = I have been working two months.
Da quanto tempo conosci Marco? = Conosco Marco da un anno.
Da quanto tempo non andate in ferie? = How long has it been since you haven't taken a holiday?
Non andiamo in ferie dal 2016. = We haven't taken a holiday since 2016.
I think the correct solution is wrong. The Italian sentence as written implies "She used to see him regularly, but now she HAS NOT seen him in years." The solution implies "She HAS seen him recently AFTER not seeing him in years." In order for the "correct solution" to be right, we need more context.
It absolutely does make sense. Here's a conversation example for you:
A: Are they back together?
B: I'm not sure. I know that she wasn't seeing him for years after they broke up but it seems like they are back together.
Anyway, I'm an English teacher so you shouldn't bother to argue with me on this one.