There's a number of reasons for Warband's playercount limit but the main reason is network bandwidth. It gets exponentially harder to send updates to each player as there are more players online. There was a graph made by the FSE guys about this but I don't remember where to find it. The game client will also eventually be unable to keep up with the number of props/players/items moving about, lowering your framerate. That the game is 32-bit is almost completely irrelevant to the number of players that can be in a single environment, seeing as the largest integer (ie some kind of "player index", used to refer to that player in the code) is a staggering 2,147,483,647.
Games start failing to use all of the available resources because they quite simply don't need them. A game will never run faster than its main thread. The main thread will run as fast as it can. This is limited by your processor's single threaded performance, or the speed of one core. However, even if your processor is extremely fast, as soon as the game tries to read/write to memory, it will halt and another process will be allowed to do its thing while the game waits for the memory to change. This is why we rarely see 100% core utilization, your processor is waiting on other components in your computer to finish their tasks.
Unfortunately, its unavoidable. You might have the fastest processor and the fastest memory, but the speed that data travels between the different components is extremely slow. We're talking on the order of milliseconds or microseconds, but it makes a huge difference when your processor is running such that it can complete an instruction in nanoseconds.
Quite simply, you can't just throw more processing power at a program to make it go faster.