Detect when user accesses the site I would like to perform an actoin if the user's last access time was last month.

Would this be through hook_user(), when $op is equal to "after_update"? 

I assume the last access variable would be updated, and I could check.
Drupal saves the timestamp of a user's last access, but by the time your can react to a user visiting the site, that value has already been overwritten with the current timestamp (that happens in sess_write()). I don't have a cut-and-paste solution for you, but there are some ideas how to store the previous timestamp for later use in this forum topic.