This is the same issue as the one mentioned in my blog from a few days ago (Error while using the Create Method - System.ArgumentNullException: Value cannot be null)...but this time I got an InvalidCastException while trying to cast an entity instance to a proxy generated early-bound type.  Same resolution, ensure that you call EnableProxyTypes before you retrieve/update/etc early-bound type instances.

        using (OrganizationServiceProxy serviceProxy = GetProxy())
        {
           
serviceProxy.EnableProxyTypes();
            IOrganizationService service = (IOrganizationService)serviceProxy;
           
return
service.Retrieve(entityName, id, columSet);
        }