I have Mary - it was one of the first things I looked at, but I don't think there is anything in the user/renderer.php that would help this. It seems to be limited to printing user files and searching for users. If you can suggest what in there I could use to override, then I will give it a go.
As far as I can see in the user/profile/lib.php the user defined fields are pulled from the database, user_info_field and user_info_data, but I can't see any way to insert that at a given location within the fields from the $user (or user database field) when the profile form is generated.
I believe it comes from user/editadvanced_form.php
// Shared fields.
useredit_shared_definition($mform, $editoroptions, $filemanageroptions, $user);
// Next the customisable profile fields.
profile_definition($mform, $userid);
which calls the two functions from editlib.php and from user/profile/lib.php respectively.
But as you can see these are self contained functions, one for the 'standard' list of profile fields, the other for the custom categories and fields.
I think - but only from a quick look through the code - that the only way to do this would be to override the class user_editadvanced_form in the editadvanced_form.php and create a single function to call both the standard and custom profile fields.
But as that class is not in a lib file or renderer, that is the point at which I get stuck and don't know how to progress - or if it can be progressed without a core hack.
Any ideas welcomed.