When the verb expresses "state" in the たら conditional clause, the main clause is an event "while/during" it, as Mike-san explained. That's the reason 読んでいる is used there. The moment five hours passed was sometime while the writer was reading a book, not after they read it (= 本を読んだら).
e.g.
ご飯を食べていたら、眠くなりました。
"The moment I got sleepy" was sometime in "while I was eating". Note that ご飯を食べたら、眠くなりました。 means "I got sleepy after I ate meals" since 食べる is an action, not a state, unlike 食べている.
店にいたら、デイビッドが来ました。
"The moment David came to the shop" was sometime in "while I was in the shop".