First, make sure that your results aren't coming from how you have Windows set to display dates (Control Panel/Regional Options). I'm willing to bet that has something to do with your problem.
Assuming that all checks out ok, though, I'd investigate Date::Manip's ParseDate function to normalize your dates regardless of what format ADO returns it in.
"One word of warning: if you meet a bunch of Perl programmers on the bus or something, don't look them in the eye. They've been known to try to convert the young into Perl monks." - Frank Willison