b) theoretically they could be different in practice probably never. but maybe an extension might supply it's own.

e) I still think that if user fred is a member of a group but does not exist as an actual user that I should be able to remove them as a member - this is just about coping with broken data which will exist in some ckan instances. For creation the test is really sensible and needed.