What about the fact that everything in CSV is a "STRING"? That there is no difference between an empty field and an undefined field and that Microsoft (sorry, they keep fucking things up) Excel converts everything that looks like a date to a US date, even if correctly formatted as ISO, so 20100405 becomes May 4th 2010 instead of the obvious April 5th 2010 and even if quoted.
Let's not forget the urge of Excel to think of strings of five digits as US postal codes: you have to go through a perverse ritual of quoting to protect those.