What's the practice for spawning replicated Actors with parameter variables?

RepNotify is triggered in two ways.
The first is whenever a value is changed (in this case, it’s whenever the client receives the packet).
The second is when the actor is first replicated (I believe it is first frame, since stuff is replicated before BeginPlay is finished). You can disable the second behaviour through conditions if you wish.

If you truly want initial only logic, then you should use the initial only condition.
If you want logic that differs based on the number of times it has changed (such as the first call), then I don’t see any other way than writing some code that records the occurrences.

As for different values depending on each other. This is extremely difficult to solve I think. I have definitely had some trouble with this in the past. It’s definitely not an simple solution though.
Two possible solutions I can think of is to simply check if the condition has been met, through both RepNotifys or through the Tick. (I know it doesn’t sound optimal but it works in many cases).

The second is to remove the values depending on each other completely. Do these two replicated values NEED to depend on each other? Can you just merge them into a USTRUCT? Does the client even need to know about it? I know in my case, it’s very rare that two values need to depend on each other.

In my experience, multiplayer games need to be designed differently and very carefully as you can never guarantee the order of execution.