Why are people so obsessive over paint datablocks? Yes, paint takes up datablocks. Why? Because there's a million different things for each spray can for each color. But there's no reason it has to be this way, at least from a engine-side perspective. There is no reason you can't send info to a client saying "Hey, this brick? It's not a standard color. Make it #11FF66 instead." No datablocks needed. Doing this as an add-on without clientside scripts, possibly even engine changes, may be impossible, I don't know. But what I do know is that datablocks are no excuse for not allowing a wider range of color options.