スティックとボタンの両方で操作するなら、どちらか一方だけ有効にするのがいいと思います。あと、スティックは最大値が0.86なので、0.86で割ることでボタンと同じ速度になります。
IF X!=0 || Y!=0 THEN 'スティック操作あり
PX=PX+X/0.86
~
ELSEIF B!=0 THEN 'スティック操作なし、ボタン操作あり
IF (B AND #UP)!=0 THEN PY=PY-1
~
ENDIF
で、その後に別途、
IF PY>147 THEN PY=147
~
みたいに書いていけば良いかと。(一例です)
ただしこれだとナナメ移動時、十字キーで移動した方が速くなってしまいますけどね。