simple solution: append "quit" or "killserver" to pball/configs/server.cfg
AFAIK the server.cfg is only there for admins to have a basic config file, it will not be executed when clicking on Play -> Start New Game. I just tested it, and i could play locally.
There are different ways to accomplish that. The main question is: What can you force the clients to do? Can you force them to not edit menu files? Can you make them not use custom executables? Booting the game directly into the "join server" menu could be done by starting paintball with the "+menu play_joinserver" parameter. If you can't force everyone to start paintball through a custom file link (which I think you can't), you could also put the content of the "menus/play_joinserver.txt" into the "menus/main.txt". But, people will still be able to use the console in-game, so basically, they can still do whatever they want.
I think to really force everyone, you would have to compile your own version of the game which doesn't accept specific commands that are used to start a game (e.g. "map"). Then, you would have to restrict their permissions to only execute your own paintball executable so they cant bring the original game on a thumbdrive and play it. Thats still a lot of work and will probably make jitspoe crazy due too many modified content detections.
As a third option, you could just watch the network traffic on a central hub and see if there is any UDP traffic from/to computers that are not your servers. If that happens, check whether there is a server running on that PC (send a status packet or something similar) and if it is, just tell your firewall to block all traffic from/top that computer. Tell everyone that they are not allowed to host custom servers and you're done.