I've taken a further look into this, and it all seems to be fixed now. All I did was disable two other applications we have installed, and re-enable them - I didn't think that these were a problem, as these are both installed on localhost, which it seems to all work fine on - so beats me as to exactly what it was!
However, I may have found a bug whereby a member is not removed from the MailChimp list when they opt out via their Notification preferences screen. I've noticed that in the member.php hook, there is no else{} statement accompanying if{} statement on line 24 to remove the user from the MailChimp list.