So if you only want a grid to be “relevant” to each client, the way to do that would be to make the grid actor only relevant to the owner (bRelevantOnlyOwner or something like that) - then spawn it server-side using the PlayerController as the owner. It doesn’t really matter who requests the server spawn something, that spawned actor will always be relevant and replicated to all players unless it’s setup not to be.
Why the OnRep isn’t firing I’m not sure, there’s no reason it shouldn’t be. I would check that the actor you are spawning is actually being spawned on the Server, and not individually by each client (if it’s spawned client-side, then the client does have authority).