So I buy a gathering bonus for 1400 seals. 180 mins.
I play for an additional hour after that, and have 120 mins left when I log out
and when I log back in its gone, the timer does not stop when I log out.

That is plain stupid. It is like me requesting that the xp should be ticking into
my character even though I am not online.

why not?

If the buffs keeps ticking off when I am offline, why not the benefits as well?

SE, serious, its not hard coding to make sure the buffs stops when the character log out. Make it so!