If you're both on dialup, can I assume you're not behind a router/external firewall? If that's the case, all your friend should need to do is put your IP (
http://www.whatsmyip.com) in the local server he adds in UOGateway, along with the port 2593. He can possibly use the no-ip.com address you setup instead of your ip-address, but might as well try the ip-address first so you know it's working.
Same goes for your UOX.INI file. What you can do is set up the [play server list] section like this, to allow both local & online logins:
[play server list]
{
SERVERLIST=Offline Login,127.0.0.1,2593
SERVERLIST=Online Login,
your.ip.address.here,2593
}
As for your teleport crash problem... what happens if you edit js\commands\go.js and set...
RegisterCommand( "go", 1, true );
to
RegisterCommand( "go", 0, true );
...and then try to use the 'GO x y z command as a normal player (after restarting UOX3)? Still crash? Also - is it the server that crashes, or the UO Client?