The parties, person, user stuff is a little strange and even more so when you use contact which has last name, first name and email also. It seems like some consolidating could be useful here.
I've found acs_object.name to be very useful although for any objects I want the name in a result set I end up storing the name in the table, but for admin pages it's nice to pass an object id and let the admin page figure out the name and other stuff in a general way.
I think there are two conflicting goals. When working on admin stuff it's nice to have general methods for objects, but on user pages the general methods are too slow. I'd hate to see the general methods ignored because of this since I spend at least as much time working on the admin side of a site