Can you post a screenshot of your spawn area? If it is too heavily built with PnB then it can take a long time to load for new people and thus they fall through the world.
The setspawn command sets the spawn point of all new players and they will 100% spawn on that point, if they then fall through the world that is another problem. Have you tried changing the spawn to a completely different location to test?
Where are you running your server? Is it company rented or are you running it off your home desktop or equivalent? How much RAM, how good internet connection, etc. does it have? Could be that it is not sufficient for the server to load and send all the data on time resulting in the falling through problem