Preguntas demasiadas cosas y lias muchos conceptos en una sóla pregunta, y al final queda todo bastante liado.
En cuanto al ClientDataset, decirte que es un componentes independiente de ADO, Zeos,... (componentes de conexión). Es decir, a cualquiera de estos componentes de conexión le puedes ańadir la funcionalidad de TClientDataset; No es un sustituto de estos.
TClientDataset lo que te ofrece es la posibilidad de tener en local los datos que te ofrece una consulta o tabla (independientemente de si está con ADO, Zeos, ODBC,...); Trabajar con ellos en local haciendo modificaciones, inserciones y borrados de registros (que no se reflejan en la Base de Datos) y cuando tú lo decides "volcar" todos esos cambios de golpe a tu Base de Datos.