Ok the reason why #track is not always accurate is because it looks like the original coders put in a mechanic for it. They call this mechanic "scenting", where as they didn't want players position to always be completely accurate on purpose.
As found in zone.cs
//perhaps leave scent
if(!fetchData(%clientId, "invisible"))
{
if(OddsAre(floor($PlayerSkill[%clientId, $SkillSenseHeading] / 100)+1))
{
storeData(%clientId, "lastScent", GameBase::getPosition(%clientId));
}
}
As you can see, there is a roll to see if the players "scent" is updated.
And the check for it in comchat (instead of just grabbing the actual position):
%clientIdpos = GameBase::getPosition(%TrueClientId);
%idpos = fetchData(%id, "lastScent");