状況によりますね。
(宿題とかあれやっといて、っていったことを)しなければならないことはしたの(現時点までに)?という質問なら
・Did you do what you have to do?
・Have you done what you have to do?
Did you do what you had to do?
は「その時やるべきことはやったの?」というニュアンスです。
Have you done what you had to do?
は「過去のある時点までにやっておくべきことだったことはしたの?」というニュアンスになります。(昨日が締切だったアサイメントは提出したの?とか)
「しなければならないことはしたの??」は、
"Did you do what needs to be done?"
"Have you done what needs to be done?"
という表現を使うことも出来ます。
過去形と現在完了の違いは、過去形は過去の一時点(しなければならないことをした時)を表しているのに対して、現在完了は過去の一時点(しなければならないことをした時)のことが何らかのかたちで現在に影響を及ぼしている場合に使います。
Did you do what you had to do? (しなければならないことをした時のことの確認)
Have you done what you have to do? (現在、しなければならなかったことが終わっているかの確認)
ご参考になれば幸いです。