At a guess, you are storing the data in the DB as DATETIME or DATETIME2 format - if you aren't, then your DB is badly designed and needs to be fixed.
And when you look at it as DATETIME data, it shows in the default format for that machine, which is ISO. The data itself has no format - it's stored as a number of ticks since a specific point in time and only "acquires" a format when it it s=converted to a string.
So when you read it into your app, it gets read into a DateTime column in the DT, and you app then generates a CSV file from that. And the default ToString implementation produces a string which is formatted according to the setting for the computer that the app is running on - which looks like it's European format: day first.
You can specify the format for ToString to generate any format you need and override the default setting: Formatting a DateTime for display - format string description