ボーナスが処理落ちで取れなくなるのはMAINCNTとかシステム変数で時間を取得してるからなんじゃないです? ループカウンタを経過時間代わりにすれば、処理落ちしてもその分経過時間も遅くなるのでなんとかなりそうかも。