Rather than simply over writing the Role Start and Expire dates. Change the module to add to the end date (expiredate) the number of days selected for the length. This way if the member has time still left on the paid subscription and renews early they are not loosing time for updating early.