My problem is solved meanwhile.
It was not a wait issue and not a bug either, but had to do with NOSEND flag being set. It also prevents further joining clients from being updated correctly.

What I did was adding a event when a client joins. If that happens, the servre sets a global variabel, and all entities poll this variable. If it is one, the NOSEND flag is reset for a short time, allowing to update the clients, and then set again.

Code:


var vClientJoin = 0;

//assign to "on_server"
void net_sv_event()
{
switch (event_type)
{
case EVENT_JOIN:
vClient_join ++;
wait (dplay_entrate + 1);
vClient_join --;
break;

default:
break;
}
}

//call from entity server loop with "my" as parameter
void net_ent_upd(ENTITY* ent)
{
/* in case a new client joined, enable auto send of entity for a short time
NOSEND must only be reset once, since this function is called every frame.
Having a wait() will cause it to run in parallel for the same entity for
a short time.
*/
if (vClient_join > 0 && (ent->smask & NOSEND) == NOSEND)
{
ent->smask &= ~NOSEND;
wait (dplay_entrate);
ent->smask |= NOSEND;
}
}



This solution somehow is clumsy (the wait() inside an event function is disturbuing...) and I haven't tested it for online gaming, but in LAN it solves the problem for me.