なぜ、アナログの人さんが作った判定で斜めの判定が正常に行えないかというと想定している判定と実際の判定に食い違いがあるためです。
プログラムを見る限り恐らく上記の図の左のようなイメージで斜め判定を行いたいのだと思います。(この図の青の円形部分がスライドパッドの可動範囲)
これを見ると0.25、-0.25という数値の絶対値を小さくすれば斜め判定がどんどん大きくなっていきそうですが、実際はどれだけ大きくしても上手く判定は行われないことに気づいているから質問したのでしょう。
その原因となっているのは、このプログラムでは上下左右に順番に判定が行われてそれで条件を満たさない場合に斜め判定が行われるからです。
したがって、実際は上記の図の右のような極めて狭い範囲でしか斜めの判定は行われていません。
この図を見てのように外周部には斜め判定は全くありません。したがって、外周をぐるぐる回転した場合には斜めには一切入らないのです。
斜めに入れるためにはスライドパッドを一杯に動かすのではなく半分くらいに保った状態でやれば良いことが分かりますが、それでは非常に使い勝手が悪いですね。
この問題を解決する必要があるのですが、最も手っ取り早いのは斜め判定を上下左右判定よりも先に行うことです。
こうすることで、上下左右判定は「斜め判定が行われなかった範囲」において判定が行われるため想定される範囲より狭くなりますが、それでも上下左右に入らないという状態にはなりません。
ここで、0.25や0.5という値を自分が使いやすいと思える値に変更すればそれだけで普通に使うならば十分なプログラムになるでしょう。
しかし、IF文だらけなのが気になるため「よりスマートに記述を行いたい」というのであれば、「右上の判定」というのは「右判定と上判定の両方を満たしている場合」と考えることで可能になります。
具体的なプログラムはプチコン3号に最初から入っているサンプルプルプログラムのGAME3の最終行のSTKANDBTN()という自作関数を参考にしてみてください。