You didn't say on which platform you wanted to run the client. FWIW, at least on Android, I've tried almost everything I can find - and uPnPlay is the only one I've seen that allows me to define a WAN connection from outside of my LAN. You just long-press one of your existing internal uPnP server connections, and then select 'clone WAN connection'. That brings up an edit window to change the internal IP address (192.168.x.y) to your external address. It automatically adds the necessary port number and the 'DeviceDescription.xml'.
I'm still having some trouble getting this to work despite having set up the required port forwarding on my router. I'm also concerned about security in opening up direct outside uPnP access to my server, although I've defined pretty narrow IP restrictions in the router forwarding. As a result, for "outside world" access I'm testing both PLEX (which is based on the XBMC source) and AudioGalaxy as free alternatives. Unfortunately, neither of these are uPnP/DLNA compliant - they each have their own servers which run on your PC. You connect via their custom clients or, alternatively, from a Web brower (for PLEX only). After logging into their servers, you're linked through to your own server without security issues.
Would be nice if there was a similar solution available that used an intermediary server, but supporting standard UpNp/DLNA servers and clients instead of something totally custom, because the MM server is so much faster with my huge collection. (In fact, with PLEX I'm getting time-out errors before its feeble server is even able to create and send a list of artists to the client.)