See attached file 'sm1607b.txt'.
This is my second attempt at resolving this issue, so please review before trying this one out.
The basics of this patch includes having the Deployment Service start method internally initializes all SAs. To facilitate this the Service Assembly Life Cycle is updated to include an init method that handles initializing the assembly's SUs.
I've included updates to handle the two issues Guillaume noted. I now suspend the broker before initializing any SAs, secondly I have modified the restore call to specify if a forceInit is required for SUs (the original behavior is maintained by restore() signature).
No modifications are required to the DeploymentTests using this patch.