ok, sorry for not posting back yet, I have tried some things and did not want to stir the pot till I got to test it a while..
REMEMBER: I am not saying I have fixed anything and dont recommend doing anything unless you want to help test it and know how to do this.
I have concluded the following to be the case (in my scenario of course) after extensivly going through the prefs.xml file + mce update log (some xml file I can remember its name) and the SDF EPG database files.
Firstly, as my last post mentioned, the problem can STILL occur regardless of read only on your prefs file. The prefs file is not actually where MCE stores its channel/EPG - thats all in the SDF files.
The prefs.xml file is merely an extenal xml representation of whats in the SDF files - so write protecting it wont really do anything...
What I have found though was that if you have a guide download with matching channel names ie: 'ABC TV Adelaide' rather than 'ABC' and correct VirtualChannelNumbers (ie 2 for ABC) it acts differently inside the SDF than if you 'Add Listings to Channels'... I noticed this because there were two entries for all channels with guide listings in that table except ABC2.
Heres an example of my new guide files:
XMLTV.XML and
CHANNELINFO.XML
If with NO CHANNELS the guide is downloaded first, then you scan for channels and MCE matches the guide up itself, then there is actually less entries in the LineUps table of the SDF.
Media center stores your guide channels in the SDF with the scanned broadcasted channels as records in the LineUps table (and when you add listings to channels there are still two records but the VirtualChannelNumber actually changes around a bit) - but if they match up by name/number there is only one entry and NO DOUBLE UPS.
The reason this is important is because when the guide stuffs up and you find Seven gone, but other odd ones on other channels like 4,5 etc, its because its zero'd out the old ones channel numbers and found them again, but assigned them new numbers - but the GUIDE channel is still actually working and knows how to tune to that channel - thats why the recordings keep working...
I hope that makes some sense, its late and I have been playings Gears of War all night ;-)
So, what I did (much to the annoyance of other people using my guide service) was rename all the channel names in the XMLTV.XML file and Channels.XML so that they match up properly and.....
SO FAR SO GOOD... I havent lasted a week in the last month yet without it stuffing up (on one of the seven media centers I look after), particularly on weekends, but so far all is well...
I also figured it would be better this way also as if 7 Digital appears again on a new channel number, the guide will be automatically associated thus saving time in the event of a stuff up...
I really dont think problem is in the prefs file being changed, but that it is a concequence of the problem, in my opinion of course ;-)
You will also notice there are 2 SDF files in the EPG directory, one appears to be a backup which contains the guide data prior to an EPG update - i guess - to open these files you need VS 2005 Pro, SqlServer CE and SqLite installed, and you can then just drag the file onto the server explorer and run queries on it..
I will keep an eye on the forum and post back if my guide plays up...