The reason is probably not Wine. There are still some subtle differences in some Windows date/time functions, but they should have normally no effect in the script.

A 1899 date corresponds to the number 0. So one of your functions under Linux returned 0 instead of a valid date. Maybe it's a missing timestamp in preloaded or downloaded history.