OK, so I've amended the 'Dashboard blog' in Site Options to control which subdomain a new user gets added to.
However, the activation link that the user receives still points to the top level blog, so when they try to log in it doesn't work (as they've been added to a subdomain).
Any ideas how to fix this without hacking core code!?!