Thanks, Muthuram,
It is indeed the situation; setting the time to '000000' (and leaving the corresponding date '99991231') allows the function to work properly.
However, as you mentioned there is a boundary issue with the conversion functions
Works: SELECT TO_SECONDDATE ('99991231' || '000000') from DUMMY
Fails: SELECT TO_SECONDDATE ('99991231' || '240000') from DUMMY
Both work: SELECT TO_TIME ('240000'), TO_TIME ('000000') from DUMMY
Fails: SELECT TO_DATE ('99991231240000') from DUMMY
Works: SELECT TO_TIME ('99991231240000') from DUMMY
In short, if 24:00:00 is accepted (and documented) as a valid time, then all the conversion functions should allow that maximum. Do you think this is something I should open an incident on?
TIA,
Donn