My last change caused this. I added a grey \d code in front of every greyed-out item, which is 14 more characters on a page of 7. That page was already at the most compact text the plugin had, so it went over CS 1.6’s 512-character menu limit again. By my count, the Extraitems 2/3 page in your screenshot comes out at about 534 characters, and the text cut off at “8. Ba” fits that.
The fix is a fourth, most compact level. It’s only used when even the current shortest text doesn’t fit:
No grey prefix: greyed-out items look normal, but pressing one still prints the reason in chat.
(23P) in red with no colour switch: it only shows when there aren’t enough players anyway.
Purchase limit counter hidden until used: nothing shows until the player buys the item once. After that it shows [1/2], or [1/1] in red when they’ve hit the limit.
Shorter stock tag:[S:2/2] becomes [S:2], which is how many are left.