Below is a screenshot of a user who posted a thread 8 minutes previously. However, he is "last seen" viewing a completely different thread, 32 minutes previously. Shouldn't making a post update the "last seen" information?
There's a definite edge case here, but in general this is intentional. If they make an action that doesn't involve them loading an actual page, we don't update their location. So that is the last actual "page" he loaded.
I don't personally, except on rare occasions when I'm reporting certain bugs or quirks, but some people will open multiple tabs with different threads.
In any case, while this may be intentional, I personally don't think it makes sense. For example, you go into a thread at 9:30 AM and it takes you 30 minutes to post. After you post at 10:00 AM, you have to leave for work, so you just leave without going to another page or anything. Your last activity will be shown as 9:30 AM, and that would really be confusing because people will see you posted at 10:00 AM, but wonder how your last activity was 9:30 AM.
On vBulletin, your activity updates when making a post with quick reply, as well as when doing other similar things, such as using quick edit. I think I'll have a look and see if a suggestion already exists for this.