Как подсказывает @Rick_James, выборка не упорядочена, потому что нет общего порядка.Это может быть решено так:
select * from (
select '0Header1', 'Header2'...
union all
select * from TABLE where $conditions ) foo
order by 1
into outfile 'c:/users/sf/desktop/output.csv'
fields terminated by ';'
lines terminated by '\n'
при условии, что все содержимое первой строки расположены в алфавитном порядке после '0Header1'.