Hola
De nada sirve liberarla asi.
Me da la impresion de que tendrias que cerrarla antes ya que usas ADD.
Prueba asi:
Código Delphi
[-]
CDSFacturacion.Close;
CDSFacturacion.FieldDefs.Add('CCosto', ftString, 10);
CDSFacturacion.FieldDefs.Add('Codigo', ftString, 10);
CDSFacturacion.FieldDefs.Add('Trabajador', ftString, 80);
CDSFacturacion.CreateDataSet;
CDSFacturacion.Open;
Ademas: Si no se usa un Try, no funciona bien la liberacion.
Saludos