The bug presented as a door that occasionally didn't open. Client pressed use, server clearly got it, the open animation never fired on one of the other clients. Intermittent, of course, and only when the area got busy.
The RPC was marked Reliable, so I'd assumed delivery was guaranteed and moved on. It is guaranteed, in the sense Unreal means it. What I'd missed is that the reliable buffer is finite, and if you saturate it (think a burst of cosmetic events, particle spawns, chatty per-frame updates all flagged Reliable because someone once had a dropped packet), the connection can be closed rather than block forever. The door RPC wasn't being dropped on its own merit. It was collateral damage from everything else fighting for the same reliable channel.
// the actual fix was upstream: this did not need to be reliable
UFUNCTION(Unreliable, Server, WithValidation)
void Server_ReportCosmeticHit(FVector_NetQuantize Loc);
The lesson I keep relearning: Reliable is not free, and it is not the safe default. It's a scarce resource. Use it for state that matters (the door, the score, the death) and let the high-frequency cosmetic noise be Unreliable, where a dropped packet is a non-event. Tag everything reliable and you don't get more reliability, you get a queue that eventually decides to disconnect someone. Usually mid-playtest, usually the producer's session.