I am 99.9% certain that you shouldn't be using subitems. That function is intended to break apart comma-separated items that contain periods, such as genres. It sorts the list, which is why 'Ed' is showing up before 'Greenwood'. I have no idea why it seems to usually work for you unless most of your author's first names are alphabetically later than their last names.
You should instead be using sublist() to get the first author. The separator for authors and author_sort is '&'. I think this is what you want:
Code:
{author_sort:sublist(0,1,&)}