I recently wrote a module implementing a CCK field. There is a lot of undocumented information required to be known to do so. Fortunately some people have written tutorials ...
Functions needed to define a new CCK field; Field placement module thoughts
Poplar ProductivityWare Articles: Creating a Compound Field Module for CCK in Drupal 6.x by Jennifer Hodgdon
Creating a CCK field in hook_install()
Define Content Types And CCK Fields For Your Custom Module Using Content_copy
Programmatic CCK content type creation
Creating a custom compound field for CCK