Oh yes, it is a bug in both WinBoard and XBoard (this is code from the common back-end). I am just surprised that it never hit me. I would not call 256 open files very restricive, but for each book miss, one file is opened. So 256 sounds about good for 2-3 games, if both players use the book.
When I used Unix as a student you could have only 16 open files! My favorite trick of becoming super-user ("root") was based on this: open 16 files before calling "su" (the predecessor of "sudo"), so that it could not open the password file...