I can "fix" it by going into the router administration, switching to the tab with UPnP and clicking "save settings". I don't need to actually change anything, just click "save". Immediately, UPnP starts working.

Yes, I have everything configured properly on my computers. The Windows XP Internet Gateway Device and UPnP UI components are installed. My setup worked flawlessly with both Internet Connection Sharing and a Speedstream 6300 DSL modem/router.

UPnP is a key feature for me. Anyone have this same problem and find a reliable fix?

Try resetting the router back to factory defaults and reentering any customizations such as wireless settings. Frequently restting will help. I have had this same problem where trying to access UPnP with XBox Live would kill it and only going back into the settings page and 'saving' like you said would turn it back on. Restting back to defaults fixed it for me.