回答

ネイティブの英語講師にも確認したのですが、過去形も過去完了でもどっちも使えます。口語だと特に短い過去形が好まれます。
この問題は過去完了のみが正解としてるとのことでしょうか。

過去完了を使うと、過去に約束してから遅刻したという状態までの間『忘れていた』からだと思います。
文法名だと大過去と言われるものだと思うのですが、
最初に今に近い過去(遅刻した)を言い、それよりも更に昔の過去(約束した)を後に言う時に、時制をハッキリ分からせるために過去完了を使います。
因みに時の流れに合わせて最初に昔のことを言えば、過去完了にする必要はなく、そのまま過去形になります。
He forgot our appointment and came one hour late.

過去形なら、その遅刻した時点の点で『忘れてた』状態を指してるのかなと。常識的に考えて、大過去で言わなくても混乱しない内容なので過去形でも行けるのかと思います。

小さな違いなので、実際に使っているネイティブにはこの差を感じないようです。

この回答にコメントする
疑問は解決しましたか?