Bueno con respecto al Código original cuando se quería abrir el TClientDataSet generaba un error que no reconocia la columna, para solucionar ese problema lo que hice fue que al salir del formulario antes de cerrar el TClientDataSet llamo al siguiente procedimiento:
Código Delphi
[-]
CleanCustomClientDataset(ClientDataSet1);
que sería esto solamente:
Código Delphi
[-]
procedure CleanCustomClientDataSet(DataSet: TClientDataSet);
begin
SetStrProp(DataSet, 'IndexName', '');
end;
Saludos.