The problem with bitvectors, is that they were designed to solve a problem that no longer exists. Back in 1988, the typical MUD would be lucky to have access to a machine with 8M of RAM, and so trying to compress everything as tightly as possible was important.
Thus, you'll find lots of code that does stuff like:
if( x->bitthing & BIT_FOO | BIT_BAR | BIT_ACK ) do_stuff();
Now, you can easily change your structures to use extended bit vectors, or better yet, just stop using those antiquated things and "waste" the extra memory to make each "bit" a full boolean field. Oh no, your MUD will now take 64M of RAM instead of 8M... what will you do with the extra 3.9G ?
But, in either case, that will break the aforementioned style of coding, since you'd now do something like.
if( x->foo || x->bar || x->ack ) do_stuff();
Basically, nobody wants to go through all that legacy code and change it.