When a channel is spent on-chain, we don't remove it immediately from the graph because it may be spent by a splice transaction. However, we mustn't rebroadcast the channel_announcement for that spent channels, or the channel_updates unless they're disabling the channel.
See lightning/bolts#1270 for more details.