Are the column names changing very often? If not, your best bet is probably to ignore the header row and name the columns explicitly. In other words, uncheck Column names in the first data row and specify 1 Header row to skip.
An alternative is to use a Script Component to split each record rather than splitting in T-SQL. It will probably be easier to write and would allow further processing if necessary.
As an aside, did you mean for each record to end with a delimiter? I'm currently working with such a file and haven't seen that before. Perhaps its more common than I thought.