Idle time is normally not propagated across the network. If you /whois someone who is using the same server as you are, idle time will be shown. If the target is using a different server on the same network, you will not get their idle time. I believe this is done to save bandwidth, which may not be as relevant today as it was in 1980s when IRC was invented.
The protocol is very efficient and servers operate on a need-to-know basis. Imagine a network of servers A<->B<->C. Now if user on server A sends a private message to user on server B, server C won't know about it at all. Since WHOIS is requested locally, users on server C would get incorrect idle time.
One way to get user's full WHOIS info is to send the request directly to remote server. You can use /whois <nick> <nick> or /whois <server> <nick> to do this. The only drawback might be slightly slower response on laggy networks.
Last edited by MonoSex; 27/07/11 01:17 AM.