Manuel hace un tiempo tuve el mismo problema y lo que hago es averiguar como esta seteado el sistema, lo que me resulto mas rapido es usar try except
Código Delphi
[-]
function coma():char;
var
coma:char;
double1:double;
begin
try
double1 := strtofloat('1.1');
Result := '.';
except
Result := ',';
end;
end;
una ves que sabes como esta setado el sistema convertis los double a string con el formato correcto y este lo mandas al excel y lo mejor es no depender de el excel ¡¡te imaginas si el cliente tiene instalado OpenOffice!!
te adjunto un pas para crear el archivo excel sin depender de otra aplicacion