That's an odd one. The host is supposed to use the 'master' copy of the map so to speak. Even if the other players can't see map objects, their effects will still be applied if they exist on the host map. At least this is the case in a D2 mission. Objects added to the map by a client script that do not match the host script cause errors, and the host script map objects (such as asteroids) will still be collidable by all players, even though they can't be seen (hmmm, might make for an interesting mission...
).
My only thoughts are simply that the client scripts are not creating the nebula, and that perhaps because the nebula is different to other map objects (it covers the whole map), that the code governing its behaviour is different to other map objects. Check where the nebula is actually being created in the script itself. I have not encountered any problems at all where the map selected from Mission Maps.cpp contains a nebula however, since this is generated during the mission load by all players. The mCreateObject method shouldn't be necessary to use at all, if the map selected contains a nebula, unless you want the nebula to appear at some point after the mission begins (a nebula creation mission? a supernova might do that).