動作的にはあってると思いますよ〜。
ただあまさとさんも言われているように分岐(ラベル)が多くもあるので、外れた(当たった)時だけ飛ばすとか、むしろこの内容なら飛ばさずにIFの中で処理した方がすっきりするかもしれません。
僕ならとりあえず、
IF HARDWARE==1 THEN
?"あなたはNew3DS!ですね。"
ELSE
?"あなたは無印の3DSですね。"
ENDIF
REPEAT:WAIT:UNTIL BUTTON(1)==#A
みたいな感じにするかな。これだとラベルも不要ですしELSEの意味もあります。
あとDIALOGはボタンを押すまでのウエイト的に使ってるんだと思いますが、その辺りも普通にAボタンを押すまで待機する命令にしてみました。
0そうだね プレイ済み