cannot create taxonomy terms using hook_enable solved!
$vid remains FALSE throughout the entire first run. You need to set it after the vocabulary object is saved:

...
taxonomy_vocabulary_save($vocab);
// Add this next line
$vid = $vocab-&gt;vid;