There's no hard rule, but I think "what makes semantic sense when writing it"
is the guideline. Oh yes, and when iterating over records from a database
where it really doesn't make a difference, using db_fetch_object() seems more
common than db_fetch_array(), simply because there's fewer funky characters
involved with objects than arrays. :-)
I'd be happy to see objects removed completely from Drupal...