Fiz uma simulação mas não consegui ver seu problema. Criei uma tabela para teste e após inserir dados esse foi meu select. Mas o teste foi normal!
SELECT icDate,
format(ifnull(sum(icCost), 0),2) as icCost,
count(icDate) as entries
FROM incomp
WHERE icDate BETWEEN '2016-01-01' AND '2016-01-05'
AND compID = 'DDY'
group by icDate;
Este é o resultado do meu teste, exportado em arquivo csv:
icDate | icCost | entries
----------------------------------
2016-01-01 | 8,600.00 | 8
2016-01-02 | 5,600.00 | 4
2016-01-03 | 5,400.00 | 3
2016-01-04 | 0.00 | 1
2016-01-05 | 7,050.00 | 7
O campo icCost está configurando com valor nulo ou número zero? Lembre-se de alguns casos em que valores nulos definidos podem ser diferentes de outros como vazios.