I am no expert. but it seems to me that there are three formats for dates:
American 11/26/01 (example, November 26, 2001)
European 26/11/01 (exemple, le 26 Novembre, 2001) (French)
Ordinal 2001/11/26
So, if you put in 29/10/2001, it is reading it as an ordinal = 2029.10.01 which translates to 10/01/2029.
From what you have written, the computer is translating the European version and making it into an ordinal number. The ordinal date helps for computers so that the code can work with math operations. In other words, once the ordinal date is translated to a code, you can add and subtract numbers to get the forward or past date for calculations in such things as bond yield-to-maturity, etc.
I don't know if I am correct but by understanding what the computer is doing, you might be able to figure out where the problem is.
Good luck,
Jim Parks
JimitheP3@aol.com