Paul Berkowitz posted this in response to this issue a while back:
What you're seeing is a rather poorly implemented update that's not finished
yet.
Entourage sorts by LastName, but displays as FirstName LastName. (If there's
only a first name it displays alphabetically as if it were a last name.)
In previous versions of Entourage, contacts with _no_ first or last name
appeared blank in the Name column, and all bunched at the top. Since there
was absolutely no way to sort a blank entry, they appeared in the order they
were created, which looks haphazard.
In Entourage 2004, they suddenly decided to display other field names if
both First and Last names are missing. In this order of priority, until a
non-blank entry appears: Nickname, Company, Email Address, Instant Message
Address. But unfortunately they never got around to alphabetizing them
within the Name column in the same way they do for FirstName-only contacts.
They're still all bunched at the top, and still in the haphazard order of
creation.
The trick is to never make company-only or email-only contacts. Always copy
the company name or email into the Last Name field. Then everything will
sort correctly. If you have more than a few of these, you can fix them by
running the following script in Script Editor:
tell application "Microsoft Entourage"
set noNames to every contact whose name = ""
repeat with noName in noNames
set comp to company of noName
if comp ‚ "" then
set last name of noName to comp
else
try
set last name of noName to (get email address 1 of noName)
end try
end if
end repeat
beep
display dialog "All done!"
end tell