Well following it through a bit further it seems that bound properties get initialised by a call to executeBindings which happens on the very next line after the addChild (which will trigger initComplete).
In theory it looks like I could call executeBindings from within initializationComplete and everything would be ok but not sure whether that has side effects in other situations....
