まずforが抜けてます。for an hour
for an hourが無ければ、過去進行形でも良いです。
彼が入って来た瞬間の事だけを話すのであれば。
I was reading a book when he entered the room.
彼が部屋に入ってきた時、私は本を読んでいた。
でも、「1時間」という言葉が入ってるので
過去完了進行形を使い
I had been reading a book for an hour when〜.
彼が〜時、私は本を1時間読んでいたところだった。
時系列で考えてみましょう。
①本を読み始めた【大過去】
②まだ読書中
③1時間経過、彼が部屋に入ってきた【過去】
大過去から過去までの1時間、私はずっと本を読んでいたわけですから、過去完了進行形の「ずっと〜していた」を使うのが正しいです。