Bueno, como hoy es tu cumpleaños (felicidades) y suponiendo que no haya duplicidad de registros y que la estructura de campos sea idéntica en los tres conjuntos de datos, te sugiero que uses el método AppendData:
Código Delphi
[-]ClientDataSet1.AppendData (ClientDataSet2.Data, True);
Nota: Considera que AppendData no copia los campos de tipo InternalCalc.
Saludos.
