whenが文章中に入る時はhave+過去分詞とは使えないと習った → 少し混乱があるように感じます。
例文で when があるので、have+過去分詞(現在完了形)は使えないと考えたのでしょうか?
もしそれであれば「誤解」です。
例文の内容を詳しく見てみましょう。
Mr. Brown had been waiting(過去完了進行形) for nearly thirty minutes <when(接続詞) his client(S) arrived(V:過去形)>.
<ブラウン氏の得意先の人が到着した時には>、彼は30分近くずっと待っていました。
※arrived(過去形)したよりも前から待っていたので、過去よりも前の時制、即ち過去完了形を使います。そしてこの場合、 for nearly thirty minutes(30分近くの間)があるため、継続を表わす過去完了進行形にしているのです。
参考にしてください。