使ったことがないので、自信はないのですけど WHILE BGMCHK() VSYNC WEND というのは、どうでしょうか? うまく動けば、演奏が終わってから プログラムが終わるような気がします。