@nicknml - No multiple NICs. Also I tried setting up a DNS on that machine but things did not work out. The DNS works: if on another machine on the network I set the DNS servers to 192.168.34.150 (the custom DNS) and 192.168.1.254 (the AT&T modem) it works great (the Internet is accessible and the FTP server is accessible via the domain name). However setting those same exact values on the DIR-655 router itself (for primary and secondary DNS) causes no domain name resolution. It seems as though the DIR-655 does not use the secondary DNS at all (or at least becomes confused when the first one is on it's own network). If the computer hosting the custom DNS was disconnected there was still no domain name resolution. I am quite confused by where the problem is actually happening with this custom DNS. I know it works at the computer level, but apparently not at the router level.
@FurryNutz - This is essentially my setup. I have it all as one rule, include 989/990 (for implicit SSL), and without the UDP ports.
The problem I see is if the WAN IP of the router is the same as the external IP and you use the external IP (or a domain name that resolves to it) port forwarding won't work. However, if your WAN IP is not the external IP or you don't use the external IP (or a domain name that resolves ot it), than it does work.
So, is your router's WAN IP the same as your external IP? And are you using the external IP / domain name to access the FTP server?
On this note, I am going to see if the AT&T modem will assign a private IP to the router while still doing DMZ, or just forward the necessary ports to the router. These setups should resolve the issues. Quick question though, when the router reports to the dyndns server, does it use it's WAN IP or the external IP?
Thanks again for your inputs!