I'm playing round with using llMoveToTarget() in a hud to blast myself around a sim -- the same principle as the Carnival Ticket at the old Carnival of Doom (at least I imagine that's how you ended up in hell after getting killed falling off a ride).
I've tried a variety of methods based on Ezian Ecksol's camjumper http://wiki.secondlife.com/wiki/User:Ezian_Ecksol (feeding the hud the target destination with a chat command when I collide with a trap rather than using my camera position) and, while I can reliably blast myself from one corner of a sim to the other on the level, passing through buildings and mountains with no difficulty, I find it's very unpredictable when I'm travelling straight up -- sometimes I can pass through the roof and go up a couple of thousand meters and sometimes i just get stuck in the ceiling. But try as I may, I can't reliably go through the floor of a skybox to reach my destination.
Inspired by Jesse Barnett's High Altitude Rezzer, http://wiki.secondlife.com/wiki/High_Altitude_Rezzer, I've tried giving myself an additional shove upwards using llApplyImpulse() in the not_at_target event, and this helps a bit but is still pretty unpredictable. These particular experiments have been with target directly above me, so I'm not having to worry about lateral movement interfering with stuff.
I assume SL's gravity has something to do with it, but I can't see quite what. I've tried it with and without flight assists (fight assists certainly interfere). Am I missing something? Or should I conclude this method of faking tps is too unreliable for predominantly vertical movement if there are obstructions, and concentrate on having targets on the same altitude?