I *may* be missing something here as to the final intention of the web services you all are using, but the Settings files, the web.config changes, etc, are only if you want to instantiate the webservice directly and use right away. You can always set the URL manually through code but still use the proxy classes as generated.
I have a web service that I use in a lot of my DNN modules as well as several Windows applications, etc, at my place of work. I created a class library that references the development copy of the webservice by default, but then I have some logic calls that I can use to instantiate an instance of the web service and redirect to a live copy of the web service. Example usage:
public static UserDirectory.DirectoryService GetServiceInstance(bool useLive)
{
UserDirectory.DirectoryService svc = new UserDirectory.DirectoryService();
svc.Url = "http://someurl/DesktopModules/MACU.UserDirectory/DirectoryService.asmx";
// optionally use default credentials
// svc.UseDefaultCredentials = true;
// optionally set credentials
// svc.Credentials = new System.Net.NetworkCredential("someuser", "somepassword", "somedomain");
return svc;
}
When I use that other library I don't ever copy the Settings file or the app.config that it generated when I first referenced the web service in the first place and it all still works just dandy.
*EDIT* I should add that I use the WAP method for my modules instead of the WSP method so it maintains itself completely separate from the rest of the DNN code. Not to say that the same approach couldn't be used in WSP, but if you wanted to not use a separate class library you'd just need to take care and make sure the code is separated and if you use the "precompiled" method with the WSP, that code can be copied and deployed with the module.