Replying to myself to make things clear here.
John forwarded my message to Enthought and David C. Morrill answered
that the problem was probably in pydoc and its way of inspecting
modules, rather than in ctraits.c, since when importing traits.py
(without pydoc) and examining the traits.CTrait.__bases__, one gets
(<type 'cTrait'>,), which looks correct.