「He had played tennis for an hour when we arrived」で問題ないと思います。
仰るように「He had been playing tennis for an hour when we arrived」の方が自然です。
それと、He had been playing tennis for an hour when we arrived→私たちが着くまで、一時間ずっとテニスをしていた。
He had played tennis for an hour when we arrived→多分、私たちが着くまで、一時間ずっとテニスをしていたが、必ずそうというわけではない。例えば一時間テニスをやって、一時間は休憩して、そこで私たちが着いた、ということもあり得ると思います。