Sometimes ActionSit results in the creature thrashing around in search of a path instead of sitting. They may even end up standing.
The problem is generally worse if multiple creatures are moving around or attempting to sit.
Fortunately, GetSittingCreature() tells us whether the creature is actually sitting in the chair.
I find that sitting is more reliable if the script checks this recursively 1-2 seconds later. If the chair is still empty, cancelling ActionSit then reissuing it works wonders.
I updated the lexicon.