On the switching side of things, I believe on all platforms BBC Three/CBBC and BBC Four/CBeebies use the same video streams, simply changing their PID just before 7pm so that they change channel on the EPG
's. Not sure where this switch takes place for Cable, but for DTT
and DSat I expect it takes place at the BBC's end as they handle their own encoding and satellite uplink. Therefore any failure to change PIDs and therefore EPG channel is a problem at BBC's end.
I know if you connect a normal DVB-C tuner to Virgin's network the streams for the channels show both channels at all times, so it must be the EPG software cutting the channels at the expected times. On Sky and DSat where the PID's change they can no longer find video on the PID specified for each channel and therefore think the channel is off air.