そうか

PLY_MAXが48に設定されているから、実際にこのチェック

  if ( ply >= PLY_MAX-1 )
    {
      if ( alpha_old != alpha ) { pv_close( ptree, ply, no_rep ); }
      MOVE_CURR = MOVE_NA;
      return value;
    }

で引っかかることはまず無いということですね。自己解決しました。
プログラム的な限界を超えないような配慮ですか。

他の処理も読んでますが、bitboardがらみの処理を把握するのに手間取っています。。

指し手のデータ構造なんかはとても参考になります。
ビット演算を駆使していて、難解といえば難解ですが、その辺をできるだけ隠蔽した実装ができれば、分かりやすくて高速なプログラムになるはず…だといいなあ。