Hey Davey,
>> "1) Can I call the TurboActivate Wizard to re-activate without it complaining?"
Yes.
>> "2) Can I call the TurboActivate Wizard in unattended or silent mode?"
Nope, the TurboActivate Wizard's whole purpose is to show an easy-to-use UI to a user. The TurboActivate Wizard uses the TurboActivate API. And the TurboActivate API you can do anything you want (including doing things silently).
>> "3) If I can't call TurboActivate unattended I should be able to write my own activation wizard to achieve the same thing?"
Use the API.
>> "4) If I re-activate on a previously activated machine for which the licence has not been released, will TurboActivate reuse a licence if it recognises the machine or will it grab a new one?"
If you use a product key on a machine that is already activated with another product key then you will get an error (it will tell you exactly what I just told you -- can't activate a product key on a machine with another product key).
If you're not activated, then you can use whatever key you want.
This is covered in the documentation (see TurboActivate.h).