all you really need to do is convert the time_t data type to be a signed 64-bit integer and then fix whatever software bugs happen NOW to deal with it...
ideally any code using time_t will simply work. And it helps to pay attention to integer truncation warnings, which would be there if you try to assign a 64-bit time_t to a 32-bit integer. THEN you would see it as a compiler warning and HOPEFULLY go "why is that" only to remember that time_t is NOW a 64-bit value.
Even in 32-bit kernels, you should have support for 64-bit integers... EVERYWHERE.
As for "other than POSIX" operating systems, let them deal with their own issues. POSIX can simply adapt a time_t that's 64-bit to fix it once and for all.