The repair utility available through the IDE is for Zwave. Not Zigbee. Zigbee will automatically repair itself as long as you take the Coordinator off power for at least 15 minutes.
The SmartThings hub is a single plastic box, but it actually has connectors for three independent networks: A zwave network, a zigbee network, and connection to your ethernet. (The v2 hub also a Bluetooth connector, but it has not yet been activated.)
So you need to “heal” the address tables in the Z wave and Zigbee networks independently.
Taking your hub completely off of power will force a zigbee heal. It will also force your local hub to re-sync with your cloud account. However, it will not force a rebuild of the Z wave address tables. No matter how long it’s off power. That protocol requires that the utility be run. It’s just how Zwave works, whether SmartThings is part of the picture or not.
As far as a presence sensor getting stuck, there’s no question that if the fob loses connection it might be marked as “away” when it was actually still in the house. This could just be from local interference.
Always being marked as “present” though, is a completely different kind of problem. Normally, the fob checks in every 30 seconds, and there is a parameter which causes your account to mark it as away after it misses a certain number of check-in’s. So it should need to repeatedly check in in order to maintain its status of "present.
The fact that a number of people have fobs being marked as present when they are not, like mine, indicates more of a backend issue or an account level issue. Because it’s not like pretend check ins are being generated.
So definitely something weird is going on.