I'm sure by 2038, Unix, Linux gurus will have rewrote the code.
Actually, in many cases code is not the problem--data is. If you have a database in which dates are stored as YYMMDD (decimal), and in which transactions have to be processed 24/7/365.25, converting the data to a different format is a non-trivial operation. It's not impossible, of course, but ensuring that the data state is kept consistent through the switch can be a challenge.
That said, I really don't see the Y2038 issue as being much of a problem. I would not be surprised if some code uses -1 as a sentinel value, but otherwise I would think most code could migrate dates from an signed long to an unsigned long without any real difficulty. C's typing rules could make a few things a bit irksome, but if code is inspected with some reasonable modicum of care I don't think there should be ably problems.