What is the difference between reading CDB data through a CDB session versus using the maapi interface to read the same data?

If you attach to an existing session via Maapi you can read what’s in the change set (will perhaps be committed) in that transaction and you can also edit configuration data that will be part of the same transaction (prepared, validated and committed/aborted). Via a CDB session you can only read data that has previously been committed. For more details see the “CDB - The ConfD XML Database” and “The Management Agent API” chapters in the ConfD Users Guide.