I was recently working on a custom Drupal 6.x module that needs to create a custom content type with fields upon installation. I did quite a bit of hunting for how best to do this. There are a few different approaches, including using the Features module, or having my module do all the node and db handling, etc. I decided to use the export and import features of CCK, and it's very easy to do. Here is a link to the handbook page at DO that explains how to do it.
I was working on a new Drupal 6 module, and at least until things became more complex, I was writing it in a top-down manner: the .info file, the .install file, and was working on defining permissions via hook_perm().
It should have been very easy. I created the following: