Most of the time it's close enough, given that most /commands are related to server data. For who commonly perform local scripting tasks (/echo), it might be a bit off, but for the average user it should be spot on.

In any case, this can be scripted if you really need it with the following:

Code:
alias setidle { if (-> * iswm $1-) set %lastmsg. $+ $cid $ctime | return $1- }
alias myidle { return $calc($ctime - $($+(%,lastmsg.,$cid),2)) }
ON *:CONNECT:.debug -i nul setidle