回避方法は色々あるけど、この場合はy == 10の時点でendmacroされるからelse自体いらない
あるいは下記のように関数にフラグを返させて分岐するとか

Label_SELECT:
inputpos "どれか選んで、リターン ★ ";

call Sub_Bunki_Shori;
##flag = ##return; //戻り値を受け取る
if (##flag == 1) { //戻り値が1なら
endmacro;
} else {
message "あ、い、うのどれかにカーソルを置いて、リターンキーを押してください。";
goto Label_SELECT;
}
return;

/// 分岐処理 ///
Sub_Bunki_Shori:
if ( y == 10 ) { // [ マクロ終了 ] の場合
return 1; //1を返す
}
return 0;