SHORT ANSWER:
Yes, the continuative present perfect may be used to signify a state which continues right up to the present regardless of whether it continues in the present. It is not, however, used to signify a state which does not continue right up to the present.
LONG ANSWER:
The 'continuative' present perfect establishes the past event or events it names as a state which endures right up to the present.
Situations grammatically depicted as states are presumed to continue indefinitely, until something happens to end them.
Consequently, the present perfect permits you to infer that the state it describes continues in the present. In fact, this is the default assumption with an unqualified present perfect. If you had only the statement “I've been driving a hearse for the last 25 years” you would legitimately infer that he is still driving a hearse.
But the present perfect does not entail—logically require—the continuation. Linguists call this an implicature, as opposed to an implication: it is in inference which may be cancelled by a contrary fact. That's what you have here, with the statement “Today is my first day driving a cab.”
Note, by the way, that there is in this particular use of the perfect, no difference between the use with the progressive, “I have been driving”, and without it, “I have driven”. The phrase “for the last 25 years” imposes the same continuative reading on both.
Note, too, that because the hearse-driving does not continue into the present the speaker might with propriety have employed the ‘simple past’: “I drove a hearse for 25 years.” I suspect he uses the perfect (and the progressive) because what he wants to convey is that there is a continuity in his activity: “I’m still driving, what’s changed is that now I’m driving a cab.”
Note, finally, that the notion of ‘present’ is defined pragmatically. Obviously when someone says he has driven a hearse for 25 years he does not mean that he drove continuously throughout that period. By the same token, the ‘present’ which that driving continued ‘right up to’ is not the moment in time when the statement is uttered but “today”
The case of John’s tardiness is a little different. In the circumstances you describe, neither the continuative present perfect nor the phrase “for the last 30 minutes” is proper. You are dealing with a much different timeframe and scale than the cabdriver. Your answer (“alas”) makes it clear that you are pragmatically defining three distinct epochs: 1) you wait for 30 minutes 2) you depart, and a couple of minutes elapse—long enough, at any rate, that you are no longer in the vicinity of the appointed meetingplace 3) then John calls. Consequently, the state of waiting (1) did not continue “right up to” the present (3).
Here are some ways you might express the facts:
I waited for you for thirty minutes, but, alas, when you didn’t show up I left.
I waited for you for thirty minutes, but, alas, I’ve left now.
I waited for you for thirty minutes, but, alas, I had to leave.
You should not employ the progressive I was waiting here; that is employed to speak about something which happened while you were waiting.
Best Answer
The most appropriate version would be
"They have grown by over 20% per annum for the past 5 years."
"for"
would indicate that the said event occurred every year through the entire span."in"
is usually used to indicate an event that occurred once in those 5 years.For example,