The Search-ADAccount cmdlet is probably using the lastlogondate to determine when that last interactive logon took place for a user account. The problem with that is that the lastlogondate property is only accurate within a range (typically 3 - 14 days). That's because that property isn't replicated immediately, it's replicated on a random schedule (probably based on how busy replication is within the AD forest).
The lastlogondate is updated on the DC that handled the logon, but you'd have to know which DC that was to be as accurate as you can. The alternative is to query each DC in the users' AD domain and get the most recent logon from them all.