I don't think we disagree, either. Maybe I can clarify how I addressed your point.
So you must already have a library that provides you with the adequate abstractions.
Given that it failed on Feb 29, either the library is weak, used wrongly, or no such library had been in use. Instead, the code may have assumed that every February has 28 days or it calculated the leap year wrongly. In either case, I can imagine that code that assumes that Feburary has 28 days may go havoc on the 29th. For example, before midnight you might want to schedule some important task two hours from now, do calculations based on the number of seconds in two hours and calculate the task to happen on March 1st instead of February 29th.
I think the issue arises because even though time is such an important (and difficult to handle) data point, there is hardly any language support or the libraries are weak.
I think the issue arises because even though time is such an important (and difficult to handle) data point, there is hardly any language support or the libraries are weak.