Problems with setting parent account

Found the following problems with setting a parent account

1. Thought child-account is excluded from the list of candidate parent accounts, grandchildren accounts are not. They can still be selected as the parent account, which would cause problems.
Tried with 1.4.3, resulted in random crash, edited account can still picked from drop-down list, but not otherwise.

2. After the parent account is changed, the full name of the edited account is updated, but the descendant accounts' full name are not updated.

3. There's no way to set parent account to the ROOT account. In a book imported from GnuCash, top level accounts have their parent account checked, but the account name empty (development branch). The ROOT account never appear in the candidates. I tried that remove the parent account will put an account in top level, but I think this is a little inconsistent.
There's maybe two things to dicuss:
In the DB, will account without a parent be allowed (except the ROOT account)?
   I think they should not be allowed.
In the UI, how to set an account to top level (direct child of ROOT account)?

Will try to see what I can do with 1 and 2. 
For 3, with the current UI, I'll set the parent to ROOT if the parent account check-box is unchecked.

What is your opinion about this?