ループの終了条件に関数を使うのは個人的には好ましくないですね。 WHILE 1~WENDの中にIF文を入れてBREAKでループを抜けさせる方が後で見直した時にわかりやすくていいと思います。 それに、BREAKでループを抜けさせるようにすれば、終了条件を複数用意したい時に柔軟に対応できますし。 ループの中にループさせる必要のない処理は書かせないべきです。 処理落ちの原因になります。 3DSが高性能だからOK、としてしまうと別の言語でプログラミングする際に支障が出る恐れがあります。 ループ処理について指導したいようですから、WHILE~WENDとREPEAT~UNTILの両方に処理の違いも含めて触れた方がいいと思います。 どちらを用いるべきか、などは教え子さんに考えさせるべきでしょう。 ご指導頑張ってください。