From what I understand:
If the player is not in the house (aavLEMInHouse == 0):
- move aavLEMMarkB to player location (in the world)
- move player to aavLEMMarkA (I suppose this is the marker inside the house)
If the player is in the house (aavLEMInHouse == 1):
- move player to aavLEMMarkB (where player came from)
Remarks:
- fast travel from the house should be disabled so the spell works right.
- without any other way to travel to a location other than where the player came from, how is that supposed to make the player appear in Cyrodiil instead of SI, and vice-versa?
(edit: I got it. LAME or other teleportation spells.)
Then again, best bet is to warn user to not use any other teleportation spells or you are going to have to fix the spell in case other teleportation method is used.
(@Willie:
quick looking at AncientSpellTeleportScript, your SI checks are also bypassed in case player uses custom teleportation, am I wrong?)