Drupal 6: Generate HTML for an individual CCK field

This problem comes up a lot in my Drupal module development: How do I generate the html for an individual CCK field? After much examination of the CCK, Views, and Node modules, I came up with this code snippet:

<?php
// load the node object
$node = node_load(MYNODEID);

// at this point the node object contains preprocessed data. build the content
$node = node_build_content($node);

// loop through content
foreach ($node->content as $k => $v) {
  // specify a delimiter
  $delimiter = "\n";

  // ensure field items exist
  if (is_array($v['field']['items'])) {
    // create a container for the items html
    $content = array();

    // loop through items
    foreach($v['field']['items'] as $i) {
      // theme item
      $content[] = theme($i['#theme'], $i);
    }

    // roll up items html using delimiter
    $content = implode($delimiter, $content);
  } else {
    // NOTE: drupal_render includes divs, field labels, etc, which you may not want
    $content = drupal_render($k);
  }

  // NOTE: at this point, the data will be stored in $content, and you can now do whatever you want with it.
  // The date module gave me some headaches with this code snippet, BTW

}

?>