As I noted in my earlier article (Visual Studio 2008 and Sage CRM Web Services) if you are using Visual Studio 2008 then it is perfectly possible to continue to use the Add Web Reference way of working. And it is up to you which way you choose to code.
If you have used 'Add Service Reference' to connect to a CRM install then you will be using the WebServiceSoapPort class. Below are just 2 examples of how the code will differ.
Log on (WebServiceSoapClient)
WebServiceSoapPort CRMService = new WebServiceSoapPortClient();
logonRequest crmLogonRequest = new logonRequest();
crmLogonRequest.username = "Admin";
crmLogonRequest.password = "P455w0rd";
logonResponse CRMLogon = CRMService.logon(crmLogonRequest);
SessionHeader crmSessionHeader = new SessionHeader();
crmSessionHeader.sessionId = CRMLogon.result.sessionid;
Logon (WebService)
WebService CRMService = new WebService();
logonresult CRMLogon = CRMService.logon("Admin", "P455w0rd");
CRMService.SessionHeaderValue = new SessionHeader();
CRMService.SessionHeaderValue.sessionId = CRMLogon.sessionid;
Logoff (WebServiceSoapClient)
logoffRequest crmLogoffRequest = new logoffRequest();
crmLogoffRequest.SessionHeader = crmSessionHeader;
crmLogoffRequest.sessionId=CRMLogon.result.sessionid;
logoffResponse crmLogoff = CRMService.logoff(crmLogoffRequest);
Logoff (WebService)
CRMService.logoff(CRMService.SessionHeaderValue.sessionId);