Adding metadata to a node through a module I am developing a module that sync selected nodes with an outside site (another API on the web).  I need to add some meta-data to each node:


Last sync time (timestamp) - Not editable through UI
Outside API ID for this item - Not editable through UI
Sync enabled for this node (yes/no) - Editable through UI


Should I have my module create a new table through the Drupal Database API to store this data, or should I use the Field API?
Your requirement seems pretty straight forward. If you want to save some time, I would suggest that you use the Field API. To make those fields non-editable by users and administrators, all you need to do is implement a hook_form_alter and hide the form elements. You can also implement hook_form_FORM_ID_alter, which I find more efficient.

Example. Hide the author field:

$form['author']['#access'] = FALSE;