Call me crazy, but I think the "Last Checkin Time" column in Agent -> Agent Status is not showing the last checkin time of the agent. Instead, it seems to be showing the current time of the KServer.
You can test this by looking at the time in the column, and then repeatedly clicking on "Agant Status" in the menu. You'll see the last checkin time change with every single refresh.
I know for a fact my agents aren't checking in every second, nor are they all perfectly synchronized. :)
Actually, the reason is that your agents sort of ARE checking in every second :) the Agent check-in process is often not quite understood, but that check-in time you have set that is default to 30 seconds, that is the delay before re-check when the agent loses connection to the K server. Most of the time, your agents are 'connected' (session open) always.
Ah right. I was thinking old checkin times.. that's what I get for looking at stuff past midnight.