In our case, wondering where that cannot create Microsoft.SMS.Client object 800A01AD error comes from…
http://blogs.technet.com/b/configmgrteam/archive/2009/03/13/troubleshooting-client-deployment-issues-running-ccmsetup-as-a-service.aspx
Sometimes you need to let ccmsetup.exe do it's thing when joining systems to the domain.