db_select() returns an array
I don't have a Drupal 7 dev environment handy to try this on, but I think you are looking for fetchAllAssoc(), as you mentioned. This page has some query examples that are helpful.

When you call fetchAllAssoc(), you need to specify a field name as the primary key of the array, like:

 $result-&gt;fetchAllAssoc($field);


It also appears that fetchAll() will work (but apparently it is not the recommended solution).