Here are some results from my fiddling:
As found, system date and time were current and the TV Portal worked, but the iPlate was frozen at 00:00 01/01/1970 and the screen saver clock stalled at 00:00:00.
I uninstalled forcedate and ntpclient.
I tried a "S90settop restart" but it didn't change anything.
I then took power off at the wall for a couple of minutes and then did a cold start, and as soon as I could get Telnet access checked the system date (01/01/2000). I then put in the real date and time. With the system fully booted the iPlate showed current time and date (and incrementing), screen saver clock showed current time (and incrementing), and the TV Portal worked.
Then I did a warm restart (standby for a couple of minutes), and had the boot failure (goes through the Humax splash screen and then falls back to standby). Clearly it needs to be in standby for more than a couple of minutes. The front panel clock (in standby) still showed the correct time. Went away, did a couple of chores, came back (about 5 minutes) and did another warm start - booted OK this time, iPlate still intact, Portal OK, screen saver OK (talk about watched pots!).
Next I did a hard reset (from power on). It booted, but the iPlate was back to 00:00 01/01/1970 (frozen), no TV Portal, system time/date 00:00 01/01/2000 (and counting), screen saver 00:00:00 (frozen). Updating the system clock by Telnet did not get the TV Portal back this time round, presumably because it was done some time after the system booted.
I've found out the system time is preserved in standby and warm start, so try that (standby for about 10 minutes). Now it gets really interesting: iPlate 01/01/1970 with time incrementing... not from the time of the warm start but from (I think) the cold start! Screen saver clock also showing the same time (ie 00:00:00 would have been the cold start event). No TV Portal of course. Even weirder, the system time shows 01/01/1970 (not 2000), with the time the same as the iPlate and screen saver.
It's like the Humax software is maintaining yet another source of time that resets to 1970 and increments from a cold start, which it uses to initialise the system clock under certain circumstances (whereas the Linux initialises to 2000 if it gets the chance).
I'm pretty confused at the moment and will have to have another look at this with a clearer head. If anybody would care to repeat my results (a necessary part of any scientific investigation) I'm using an HD-FOX (HDR-FOX may or may not respond the same) and the aerial needs to be unplugged.
The relevant Telnet incantation to set the system clock is "date yyyy.mm.dd-hh:mm".