Hola!
Aclaro una cosa, el ClientDataSet sí es para efectuar las respectivas inserciones y/o modificaciones en una tabla, lo que no estoy seguro es que esn esa select que has efectuado donde intervienen diferentes tablas te permita hacer la actualización en la tabla que deseas. Hasta ahora personalmente cuando utilizo los cds y necesito hacer modificaciones o inserciones, sólo para una sola tabla, es decir si tomas:
El mismo cds se encarga, creo, no recuerdo muy bien la teoría de crear las instrucciones para las inserciones, modificaiones, etc. através del proveedor y toda la carreta necesaria para esto.
Si necesitas ver la consulta que haces, te sugiero que crees una consulta con otro componente que sea solo para mostrar esta y con el cds efectues las inserciones, creo que puedes encontrar diversas ormas de hacerlo, la idea básica te la he dado.
Saludos