spent some time today trying to figure out how to create a CCK field as part of an hook_update_N function. Unlike previous versions of CCK, in 6 it's very easy to manipulate the fields from code.
Working with Drupal fields may cause lots of headache, especially if you are digging through the code programmatically. I’m saying this after countless times searching for a field setting, or just a list of allowed values for a certain field type. Since I also tend to forget this stuff pretty fast, I thought it might be good to write it down for later reference.