My understanding is that blocks that are not on the best chain are still relayed, otherwise people will get stuck on the wrong chain. So even if the block were only sent to the target, the target should have relayed it and the rest of the network should have seen it. The network does not know which fork will be extended next, so everyone will have to have both.
An "innocent" fork that occurs by pure chance should have the characteristic that all transactions in the abandoned block are included either in the "true" block of the same height, or in the next block. I think reversing a transaction will require a transaction in an abandoned block to be invalidated in the "true" fork due to a double-spend. It seems unlikely that such a transaction reversal could happen by accident.