XCB did not largely replace Xlib. In fact, some (all?) implementations of Xlib are built on top of XCB.
Regardless, that's sort of my point: having a lower level fiddly layer is a desirable quality, and Xlib being rebased on top of it isn't exactly a counterexample.