I had similar symptoms ... a simple install file that wouldn't create a table.
However, I got it to work by going into the Drupal system table and deleting the record for my module.
Then the next time that I enabled my module, Drupal freshly discovered it and ran the .install file to successfully create the table.
Summary. When you have a module already in use (and so it appears in the system table),
and *then* as a developer you create its .install file,
it doesn't look like a *new* installation to Drupal (since the module name was already in the system table), so hook_install never gets called.