OK, this is weird, but I think I have a workaround.

The first record of the first invoice in an import file MUST contain all text fields.
Each text field MUST have a non-space character in the first and last places in the field. I'm going to test to see if something innocuous can be found (ideally a character other than chr(32) which still displays as a space or blank).
Following records must have text fields at full length, but may be padded with spaces.

This situation seems to exist for all imported text fields.