Yes, we frown heavily upon bumping threads. Your issues at this point is not clear-cut, therefore those of us reponding are trying to visualize what you have going on, so it may take some time for people to formulate ideas of how to help you.
The being able connect with domain names but not by I.P. is puzzling to me anyway.
The Xfinity Gateway Wireless is a full router; I download the manual an you can see that it replaces the need for a separate router and is really a fancy Access Point/Modem/Firewall/DHCP box. As it is a router, if you want to use a different router then you need to ensure the Xfinity is set into 'bridged mode'.
If I was you, I would not put the Gateway Wireless into bridged mode, I would ensure that I only used the Xfinity as the only router - there is no sense using the extra networking overhead to make use of multiple routers; altough admittedly it is not yet clear to me if you actually have two routers.
I would take the server out of the DMZ. This is a 'drop-your-pants' all ports open mode typically used for game boxes. You need to make use the the Port Forwarding (NAT) and translate you public I.P. to your server's IP. You need to ensure http port 21 and port 80 are forwarded to the correct machines.
In a properly configured basic port-forward scenario like I describe above, it should not matter if you navigate to the server by:
You also need to ensure that the firewall is set to medium security as otherwise your blocking port 21.
You can make the adjustments logging into the Xfinity admin tool. See the user guide that I linked above to see the typical type of settings and warnings.