Well it does give you the number of players in multiplayer that are in the game.
For example if you have a 6 player map (field in DescBlock set to 6), and 4 players join it in a multiplayer session, NoPlayers() is gonna read 4.
But that number won't change during the game. (It shouldn't, since it can be useful to create buildings for players that are technically "dead", like in a colony mission, and there are better ways to check if a player is alive).