You need to understand that ~ている/くる doesn't always express the same meaning/aspect. It differs depending on the type of the preceding verb or context.
For instance, in a sentence 日本人は昔から米を食べてきた, 食べてきた is a repeated action done by many people. 食べてきた can't be used to express a single action done by a single person (except meaning "to eat, and then come").
On the other hand, 分かってきている refers to an aspect of a single action. The subject is in a process to realize something clearly/completely. This phase of action can't be expressed by 分かった, 分かっている or 分かっていた. For instance, 分かっていた means that the subject already realized it clearly/completely sometime in the past.
分かってきていた shows that they were in the process in the past, and also suggests that they have already realized it clearly/completely now. That's why 分かってきて(は)いた is the most appropriate in your example.
I think this explanation also can be an answer to your question about the difference between the explanation you found and my previous post. There are cases where ~てきた and ~てきていた are almost the same, or only one of them can work.
As for #1, it's OK just あの先生は10年前から英語を教えているそうです。, since 教えている can express repeated action like 食べてきた. See the following examples.
3. 10年前から英語を教えてきたが、今日でそれも終わる。
4. 10年前から英語を教えているが、あんなに発音がきれいな生徒は初めてだ。
The focus is put on a fact that the action has finished in #3, while it's more on "continuing" in #4. However, it's not wrong to use 教えている for #3 and 教えてきた for #4.
And as for #2, it's more common to use 教え始めた to refer to the starting point. That's why your sentence sounds odd.
In conclusion, it differs what expression is the most appropriate depending on many factors like context, the type of the verb etc..