It's the stereo. There are other threads on the
problem. Expensive to get the stereo repaired (I don't know who does it) and several body parts worth to get a new one.
For more info try a search for radio or stereo.
There is a cheap way of fixing it which is to disconnect the permanent live (thick red/brown I think) wire from the loom tape it up and connect the pin to a switched live source.
Mine has had this done, you loose the time and date memory but after about 5 mins running with the stereo turned on it comes back and the stereo always comes on when key is turned.
Unfortunatly mine was done as a major bodge, twisted wires and insulating tape (professional garage no less) and tapped into too low a guage wire, so I won't recommend copying it and I haven't been bothered to fix it properly yet as I have bigger probs (possible scrappage) and a MOT to sort first.
Oh and you could also check the ribbon cable between the screen and headunit is connecting properly as this possibly could be causing flickering (but not the unit staying on
problem). From your symptoms I doubt it though.
Hope this helps.