The solution would be trivial if BUG could depend on always running as a mod--having a custom DLL. I'd just move these settings into CvPlayer using PlayerOptions. All of the options such as Workers Start Automated are done this way and kept in-sync across all machines in a multiplayer game. This would allow players to have different settings and keep the game from going OOS.
But BUG doesn't have that luxury.

And as odd as this sounds, neither does BULL. I know, BULL
is a custom DLL, so clearly it can do whatever it wants. The problem is that it's not having a custom DLL that is important; it's the ability to add more PlayerOptionTypes values
that get written into the saved game. If I modify BULL to have more PlayerOptionTypes, I break saved-game-compatibility with any non-BULL games.
One option is to have an MP-only DLL that has those options as PlayerOptions and a normal DLL that leaves them in BUG. That's probably not so bad an option, actually, but I'm hoping maybe someone sees an easier solution.
I thought of using net messages to tell each machine the settings each player is using, but that seems a) like a lot of work and b) dicey at best. Given that the game has a built-in facility this (PlayerOptions), it doesn't seem like a good solution.
Forcing everyone in code to use the same setting would work, but it would also be a lot of work and I think less elegant than a separate MP DLL.
Edit: BTW, the options include any setting that alters the game mechanics. This means that all the settings that control what gets displayed in a hover don't matter. The ones that matter are Pre-Chop (2) and Sentry Healing (also 2). The Governors Build Workers settings (again 2) are already PlayerOptions. The game has 3 slots for modders in the PlayerOptions, and GBW took 2 of them.