See here for an answer to a question regarding sorting .Net Membership GetAllUsers() results and here for a response to a suggestion about amending the underlying stored procedure to order results.
My question is - But what if you had a "really significant number" of users and/or you wanted to use the GetAllUsers(int, int, int) paging overload with a sort order which is not by username?
Is this where you need to go and write your own membership provider? Or do you go and amend the underlying SP (as advised against here: how to modify ASP.NET MEmbership stored procedures)?