Yes, the problem is you have NAT enabled. Disable that, and leave the UpnP enabled. Nat is bad for BTMM, unless you have NAT-PMP, which adds a feature to automatically map the ports to match the IP addresses setup by the NAT.
I've seen a lot of people talk about setting up Port Forwarding on their Linksys routers, but if you have UpnP, DONT DO IT. It will raise BTMM errors about performance, which, in my experience resulted in time outs, so it never worked..
I was dedicated to setting it up so I could connect from outside my LAN (home network). So, I did the following:
1) Enabled Mac Address Cloning, and whent through the proces of registering that with Comcast (same for most ISPs), after setting the option in the router and updating it, internet is now unaccessible. Turn off cable modelm, turn off router, turn off computer, then turn them back on in the same order. You know this works if you go to Status > Router in Router web UI, and see a public IP address under the internet section (none of this 192.x, or 10.x)
2) I used a dyndns.org account to make a domain name, entered that data into therouter's DDNS settings, just so I don't have to do the re-registration process described above later if my ISP's assigned dynamic IP address for the router changes. In hindshight, I think this is totally unecessary for BTMM, but I wanted it for other reasons (web site/FTP, etc). *Note, if you do this, don't also run any auto-updating tool for the dynamic DNS service. Just let the router do it.
3) Ensure DHPC is enabled on the router, wtih a high number of DHPC users (I set to 100).
4) Now the really important part. Go into your Mac Network preferences, primarily on the mac you want to connect to inside your LAN. Change the Configure IPv4 to Manually. Put an IP address that is high in the range you defined in the router. Subnet and Router values should be the same as before you make this change. Click Advanced and set the Configure IPv6 to Link-local only. BTMM, according to many, uses IPv6, so I wanted to ensure it was abilable. I think the Link-local will allow the IPv6 address to be shared somehow,even if your router doesn't support it..
So, some of the most imortant things are
* Router should have a public IP address through the use of Mac Address cloning, and registering that Mac Address with ISP as described above.
* Computer in your LAN should have a fixed internal IP, but it's part of the DHCP range of the router.
* Need to have IPv6 set to Link-local only (manual would work if your router supports IPv6).
* Must disable NAT, everywhere, or at least you ensure you don't have more than one layer (don't want one in modem and one in router). Most cable modems are not also routers, so you don't need to worry about them, but DSL modems typically also have router functions, like NAT, so you want to disable it there.
* Must have UPnP or NAT-PMP enabled, one, not both.
* Best to open your router and computer's firewall settings, and use some of Apple's recommendations to protect yourself from mischief. This includes complex password for Apple ID, instant password lock for scrensaver, etc: http://support.apple.com/kb/HT4908
* The account you use to login to your computer with must have the same Apple ID associated with in on all computers you want talking to each other with BTMM. Sometimes the account data is out of date. Remove it from your account, and add it back.
* In Mac Shariung preferences, you must have Screen Sharing, or better Remote Management, enabled with access provided to youru local account that has your Apple ID associated with it.
* Same thing with File Sharing if you want to share files over BTMM.
Good luck!
Spent lots of time doing this, hope to help others do it quicker.