[eluser]Mirage[/eluser]
I don't know how CI's implementation compares on a performance level. I've used ADO and PEAR, and personally really don't care about one over the other. The CI is intuitive and well integrated so my projects work smoothly. I think that often developers tend to over-emphasize raw performance - for a variety of factors I'm not going to get into.
I can't speak for Rick as to why he wrote is own DB abstraction layer. My guess would be that CI has no dependencies on 3rd party solutions whatsoever. But as a framework, it certainly needed decent DB support. Ergo it received it's own implementation that keeps with the general CI integration and syntax pattern. Seems plausible to me.
Cheers,
-m