I am curious. Are you using double (GetDistance is not fast) condition test as safety measure?
Yes - I first used a script that Kateri had for Julan which did not have the double check - I couldn't get it to work consistently - and as the dialogue was dependent on the Global I ended up using the double which so far has worked correctly all the time - unless I rush ahead and don't let her catch up.
I'm going to do a clean start of the mod and take her directly to Gnisis to see if there is something wrong with the Tradehouse door - she is still not warping to me after going through it.
EDIT: Looking at the door marker in the CS for the Gnisis tradehouse - I see it is positioned quite low - is it possible that a companion coming through that door might be placed below the ground mesh and thus fall down into the void below the world mesh? I know I've had problems with position cell that if I place them too close to the floor they can fall through it.