Options - Events - Ignore: Tick off the offending contact.
I'm guessing you mean Options > Contacts > Ignore.  But yes, that's what I mean by 'hide'.  As soon as I log back in, the contact is re-checked.
It is propably GTalkExt, check settings here. Maybe GMailNotifier.
I don't have this installed.
"Last seen" is only updated when contact gone offline. If contact never go offline, … go figure.
For GTalk, "Last seen" is equivalent to "time contact last switched to 
online status".  For example, I have a contact who is 
online right now.  Hangouts reports her as "last seen 38min ago".  That's when she first came 
online.
For contacts that have not been 
online for a long time (perpetually 
away), 'last seen' is absent.
One of the effects of this issue has to do with MetaContacts.  The MetaContact will never be in an offline state if they have GTalk so it overrides any sub-contact you have set to "send offline".  
I'd just like to be able to set a contact as 
offline if their status is 
away and 'last seen' is old or absent.  I guess it's better suited to a separate plugin...