I’d say it’s still mostly a software issue, just one with more difficult tradeoffs. A 32-bit number of seconds can only represent a range of 136.1 years, but while those 32-bit numbers may exist in a lot of places (filesystem, protocols, PRAM) their interpretation is up to software.
It might be possible to write an extension that patches Apple’s date utilities to assign a different 136.1-year range to those bits than 1904–2040:
- You could move it half the range forward, to 1972–2108. Dates from 1972–2040 would be preserved, but you’d lose dates before 1972 (probably fine) and some software would think 2040–2108 < 1972–2040.
- You could shift it 100 years, to 2004–2140, and trust users to recognize that classic software from “2084” is really from 1984. But, correct dates get difficult from 2100; the advantage of 1904–2040 is that there’s no need to implement the century rule of leap years, but starting 2100 that’s necessary.