Private Properties in AActor causing headaches with Custom Replication!

I think trying to avoid calling the base class implementation, even if you find a way to do it, is asking for trouble. It’s definitely not intended use and is the kind of thing that’s liable to break with future engine changes.

Is the primary motivation to save on network performance, because you have heaps of projectiles? If so, I’d say the way to go would be not using an actor for each projectile. You could have a single actor class which manages all projectiles (maybe one manager for your entire game, or one for each player/projectile launcher). Maybe then have an instanced static mesh component for instancing projectiles. Any extra per-projectile data you need you could store in an array/map inside your actor class, and replicate as needed.