I don't personally believe that fixing connectivity issues in Demigod is a lost cause. Nor do I believe that it would necessarily require an inordinate amount of time or money to do so. The question is does SD own the IP and/or netcode and if not can such modifications be done to the netcode without breaking contracts etc. that may exist.
I have long believed that although the inability of P2P traffic to be forwarded directly to many pc's (either because people couldn't/wouldn't forward ports, dual-NAT'ing or shared connections in Apartments or University dorms) was a huge issue the even bigger issue revolved around traffic state handling etc.
Many consumer model routers and ISP-supplied modems or "home hubs" are not able to handle multiple concurrent connections properly (ie. initiate, track, close, reopen etc.)
One way to solve the "port-forwarding" issue is to use tunneling/encapsulation (ie. VPN) technology like Hamachi. Unfortunately while VPN's bring benefits of bypassing troublesome routes (ie. flaky DNS, strict routers/firewalls) they do increase network transport cost (ie. overall latency depending on the ecapsulation used) and can cause desyncs to happen more frequently since certain traffic states are harder to verify when encapsulating traffic to tunnel past routers/firewalls.
Solving the problem of connection-state handling and dealing with routers/modems etc. that aren't made for the job is more complex, but still possible. One way to keep latency in check is to use region-locking (which of course is not desireable if it can be avoided), so morphing the netcode into a hybrid between P2P and client-server for different parts of the netcode could be looked at. For example when starting a game the host could select to use his own system and connection (if he knows it's properly set up and capable) or "the cloud" to spawn the game lobby. This lobby would use a client-server infrastructure to initiate and track connections between clients. The game code could then still use a hybrid P2P traffic model on top of the client-server tunnel/encapsulation to keep bandwidth and latency down and make sure that every game stays in sync with each other.
Of course these are just "theories" of mine. I'm no game developer.........I just fancy myself a bit of a networking geek so please take what I say with regard to "fixing" Demigod connectivity issues with that in mind.
the Monk