Unfortunately I don't see a reason why this would happen. I could see a possibility if the number went to 0, but not to something higher than that. The stats read the xf_user.last_activity value and determine who is active from that. If that value has been updated for some users, it should be updated for all users.
If you search for users active in the last day or two in the user search, how many does it return?
This is no doubt what Mike is referring to. Check the last run date to make sure that it has been running. But if it was failing to run then I would expect your active number to drop to 0 (as Mike said).
Maybe your xf_session_activity table is not healthy (where session dates are stored which are converted into last_activities). That is a memory table and would be subject to loss from server crashes (such as MySQL crashing). Ask your host to check the uptime on MySQL. Just a guess.
I think the errors are related to the xf_session_activity table. We have a cluster of db servers and had problems replicating this table successfully. Things do seem to have started working again now so fingers crossed