SQL server columns do not have locale ids. You can't use sp_help to find what "locale" your table is in. The error message is itself an error. This is Microsoft's common practice of sending you on a wild goose chase when they really don't have a clue what's going on.
I've seen in other forums frantic advice to be sure that collations between databases match, and that locales from Holland should not be copied over to locales from Mexico. All hogwash.
If you are copying less than a full set of fields from one table to another, whether that table is on another domain across the world, or is collocated in the same database, you just have to select them in order. SqlBulkCopyColumnMappings do not work. Yes, I tried. I used all four possible constructors, and I used them both as SqlBulkCopyMapping objects and just by providing the same information to the Add method of SqlBulkCopy.ColumnMappings.Add.
My columns are named the same. If you're using a different name as well as a different order, you may well find that you have to actually rename the columns. Good luck.