Ну, темные места, конечно, не в Perfect Continuous, а в учебниках. Но работа учителя только в том и состоит, чтобы исправлять недостатки учебников.
Нижеследующий текст необходимо напечатать и вклеить силикатным клеем в соответствующее место учебника.
Если указан период времени, в течение которого совершается действие, то это действие, если оно выражено в Perfect Continuous может быть как законченным непосредственно перед данным моментом в настоящем или прошедшем времени так и продолжаться в настоящем, прошедшем и будущем.
Если период времени не указан, то тут все ясно: действие закончено к данному моменту в настоящем или прошедшем. (В будущем действие всегда продолжается и всегда указан период времени.)
Таким образом, если выражается продолжающееся действие, то период времени всегда должен быть указан.
А если выражается законченное действие, то период времени может быть как указан, так и не указан.
Определить, является ли, при указанном периоде времени, действие законченным или незаконченным, можно только по сопутствующим обстоятельствам или по смыслу самого действия.
Пример:
"I have been working for two hours" можно сказать, как продолжая копать в поте чела, так и только что бросив лопату. Нужны обстоятельства.
Если Perfect Continuous употреблен в придаточном предложении, то таким обстоятельством может быть главное предложение в настоящем времени. А именно: если в придаточном предложении употреблен Past Perfect Continuous, то очевидно, что действие уже закончилось.
Но если главное предложении стоит в прошедшем времени, то придаточное (дополнительное или обстоятельственное времени и условия) в любом случае по правилу последовательности времен должно быть тоже в прошедшем. А Perfect Continuous, значит, должен быть Past Perfect Continuous. И поскольку более раннее, предшествующее время выразить все равно нечем (потому что никакого Past Past Perfect Continuous не существует), то тогда опять неясно, закончилось ли это действие или все еще продолжается. Это снова надо определять по смыслу слов, а не по грамматике.
Пример:
"He said that it had been raining for about two hours" можно перевести как "Он сказал, что дождь ИДЕТ уже около двух часов", либо как "Он сказал, что дождь ШЕЛ около двух часов". Без каких-обстоятельств, вроде "And it seemed no end to it" или "But the sun was shining again" понять, закончился ли дождь в этом предложении невозможно.