Actually, after discussing with Nathan, there is no referral chain traversal. I believe each account has two fields: one for the registrant, who must be a lifetime member, and another for the referrer, who must be at least a subscriber. If these identities are different and the account is not a lifetime member, then fees are split between them. Only lifetime members can register accounts, but when an account upgrades to lifetime membership it overwrites the account's registrant id with its own id.
Personally, I think any account should be able to pay to register new accounts, even if they can't receive any rewards for it. I also think sub-accounts should inherit lifetime membership from the base account. As it is now this is going to be far messier and more confusing than it needs to be.
Surely a free account can register new accounts? its just the registrar and referrer fields won't be updated if you don't have an upgraded account. ? maybe I'm just using the wrong words now.
If thats true I can see how that might be a problem.
If I understand correctly, for all new free accounts created the registrant and referrer field are passed down.
The fields are replaced when the user upgrades.
As an example:
User A is a lifetime member and registers user B as a free member
User B has registrant = "A" and referrer = "A"
If B then goes on and creates a.B , b.B , c.B , i.a.B, ii.a.B , C , D , E etc then all these accounts will have user A as both the registrar and referrer.
Then if later B decides to upgrade to lifetime member, only account B will have registrar = "B" referrer = "B"
all the other accounts would still have registrar = "A" referrer = "A"
I should probably read through this all again. In some ways I can see how this might make sense but I'm conflicted.