読み直しました。

ご指摘のとおり、段数はbbs.cgi側からは要らないですね。

> - 「板名」「FIFOファイル」「FIFO段数」「登録キー」「登録データ」を引数として、bbs.cgiから呼び出し

を、

> - 「板名」「FIFOファイル」「登録キー」「登録データ」を引数として、bbs.cgiから呼び出し

つまり、

> my $value = bbsd($bbs, 'chkthr', $file, $n, $key, $value, "$logfilename:$logline");

の、$n は bbs.cgi 側から指定しないことにして、
bbsd が SETTING.TXT から TATESUGI を読んで、それを使う

ことにしていただければと思います。