When calling cWorld:SetSignLines() it doesn't seem the clients are updated with the new lines, but when exiting and going back into the game the sign is changed. So, is there a way to force the clients to get the update?
That's probably an issue in cWorld:SetSignLines. You could try cWorld:SendBlockTo(BlockX, BlockY, BlockZ, Player), but I don't think that would work.
That's a bug in the server, file an issue on GitHub for this. Hm, I thought that it worked...
Not likely, this report is about a LuaAPI call not updating the entity, unlike your issue that is about a client action.