Hi TheJamsh,
Thanks for the feedback, your point is valid. The stock UE4 MP framework sort of relies on the base properties of actors to replicate to properly function. It’s hard to say what would happen when you start turning those off, but it’s totally plausible that you can get things working by inferring the state, and setting it manually locally as you are doing.
The idea of not calling super, and manually adding properties as you are doing could work, but as you mentioned, getting access to private properties is an issue. It would be hard to justify exposing some of those, since by design they are protected from direct access.
One idea might be for something like Owner, is to make a duplicate property on the child class, and mirror Owner property in PreReplication. Then when that property changes on the client, restore Owner from that. The only issue here, is if the client needs Owner set within the de-serialization code to work properly (before OnReps are called for example). I can’t think of anything off the top of my head though.
This is an interesting problem, and something we’ll give more thought towards!