Apart from the change of the century there are a lot more dates with problems. Very Important note There is still a lot of software of which I have no info wrt y2k-issues. Since I also have a full job and a social life, I cannot test all software myself before doomsday. Not compliant code is code which handles dates wrong in any sense. Reason is that the package apparently expects the year to be 2-digit.
Some code is written totally incomprehensible.
In such a case, one can look at the code untill you have a Berkely beard, and still not have the faintest idea of how it might behave. When there is a lot of date-manipulation going on, looking for all strings with 'date' in it results in an awful lot of hits. In such a case one can find almost all lines of source code to contain y2k-dangerous strings. A solution is not to look for 'yy', thus missing some real year-yy strings. 1900 is done correctly all-through.