回答
仮定法過去でも良いと思います。この人が現在成功しているのであれば仮定法過去ですし、過去のある時点で成功したのであれば仮定法過去完了です。この日本語の「成功していなかっただろう」は、そのどちらにも解釈できると思います。
日常生活では、状況によって使い分けるので楽です。でも日本の試験問題では、そういった context がないので、その代わりに、「こういう日本語はこう英語に訳す」のような、ルールがあると思います。そのルールのことを、その英語の先生は仰っているのですよね。
成功したのが過去のことなら
If he had not worked so hard, he would not have succeeded.
過去に成功した状態になったのなら
If he had not worked so hard, he would not have been successful.
今、成功している状態なら
If he had not worked so hard, he would not be successful (now).
お悩みは、日本語から英語を作り出す(翻訳する)学習方法の inconvenience です。そういう試験のために英語を学んでおられるのであれば、訳し方のルールを知っておかないといけません。
そうではなくて、英語を自由自在に使えるようになるのが目標なら、仮定法を使うときに、過去のことに反対のことなのか、現在のことに反対のことなのか、それさえ意識していれさえすれば、大丈夫ですよ。
この質問に回答する
仮定法を使うこの文で、懸命に努力したのは過去で成功したのは今だと捉え、前半を仮定法過去完了、後半を仮定法過去で書いたら誤答になりました。どうしてダメなのか英語の教師に質問したところ仮定法の文において、〜た。という日本語の文は必ず過去の表現を入れて書かなければいけないと定義されていると言われたのですが、納得がいかなかったので初めてこのサイトを使うのですが質問させてもらいます。どうしてこの文の後半は仮定法過去ではいけないのでしょうか