Why are cck fields included in body when getting a node?
CCK fields, by default, are rendered into $content.  The order depends on their order on the Manage Fields tab.

To not do this, edit the content type, and goto the Display Fields (or goto /admin/content/node-type/my-content-type/display).

Then set the fields/labels as Hidden or Excluded.  I am spacing on the exact difference (too long since I set this up in Drupal 6), but I normally just use Hidden.