That's interesting. The documentation for that property describes it thusly:
Gets or sets the locale information used to compare strings within the table.
That doesn't seem to relate you your issue so I would not have expected it to be relevant. The cells of the grid can only display text, so any value that isn't a String needs to be converted. If you had a DataColumn containing numeric values then I would have expected the grid to be the one doing that conversion, so the Locale of the DataSet would be irrelevant. What you're saying seems to suggest that the conversion is being done by the DataTable rather than the DataGridView and I'm not sure why that would be. I'd still be interested to know exactly how this data is being loaded.