Another thing to consider is that some routers can automatically loopback the external IP internally. Other routers by default don't, and require a setting/command. (This only affects LAN traffic, not WAN.)
i.e. If it's enabled in the router then you can use the local, (192.168.0.x), IP
or the external, (e.g. 203.234.567.89), IP - both will work.
e.g. My Zyxel doesn't by default, (a specific command is needed via telnet to loopback the external IP), so if I tried to access HFS on my computer by using the external IP it would fail. After telling the Zyxel to loopback, it will work.
Perhaps you have the same problem.
Also, I have just spent an hour trying to access HFS via the external IP on my machine, (it worked using LAN IP and when firewall was exited), and found it wasn't the router or the software firewall, (Comodo), settings for HFS - it was the firewall settings for Firefox!
AARRGGHH!!