Welcome to the forums, Ed!
I think TransportToIfUsed(e) would take care of part of what you are trying to do, although I'm not a serious coder/scripter. If I read your post correctly, upon dying, you don't want the player to have to start all over again at the beginning, (I'm reminded of GTA, where you end up outside the nearest hospital). There would be more to it than that function, of course, but it would be a start. Interesting idea if I've understood you correctly, and I don't believe I've seen it done yet, but I'm sure it can be easily done. Some people around here can whip up something like that over coffee, lol.
Not sure if this is the right thread for your post, though, unless Lee is willing to show us how in the next twitch? If so, I'm all for it! Beware it's taking his time away from getting us VR, though!
EDIT: 1 vote for gd's idea!
MAME Cab PC: i7 4770@3.4Ghz (passmark 9945), 12GB RAM, Win 10/64, GeForce GTX 1080 (Passmark 12735); Shiny new laptop: i7 4800MQ@2.7Ghz (passmark 8586), 16GB RAM, Win 10/64, GeForce GTX870M (passmark 3598); Old laptop: i5@2.3Ghz, 8GB RAM, Win 7/64, Intel 3000 graphics