For the APose issue, I currently suspect that it is either because of the FFastArraySerializer that the equipment manager uses to keep track of the equipment, or that the equipment instances are UObjects and replicated using
if (IsUsingRegisteredSubObjectList() && IsReadyForReplication())
{
AddReplicatedSubObject(Result);
}
It is possible that DemoNetDriver doesn’t support these, because the equipment works perfectly in normal gameplay with the OnRep functions being called, but in the replay it is weird in the sense that the OnRep function gets called (at least logs are shown), but no actual change to the state of the game is applied (Link Anim Layer Class does nothing, and the equip/unequip montage does not play).