A few more suggestions to throw in the hopper:
First: While I agree that disallowing existing usernames as display names would be too restrictive: how about when someone sets their display name to an existing username, the owner of that username is sent some kind of notification (which they can choose to turn off)? That would allow the flexibility you (correctly) say is needed, but would deter a lot of scamming attempts.
Second: I can see some use cases for display names centered around weekly events that would be needlessly limited by the once-a-week rule -- for instance, a roleplaying gamer group that meets weekly. Please consider adopting a slightly shorter window, like five or six days, to give weekly-event applications some flexibility.
Third: Let people revert to their previous display name at any time, or within 24 hours or so of changing. Again, this would be useful for roleplaying games. They could still be restricted from adopting *new* display names more often than the weekly (or whatever) threshold.
Fourth: Give estate owners -- and if possible, parcel owners -- some ability to bend the rules: temporary display names and unlimited changes while on the estate, or estate-owner specified rules for name changes on avatars that are restricted to the estate.
Finally, I hope you will look into extending RegAPI to support display names. RegAPI has suffered from long-term neglect, and could use some love from the developers in general; but a major change like this calls for a significant update to that interface.