As far as I understand it making the project active will always make the work plan (All the tasks) for that project active also. I would suggest using a custom action to set the project as active, but would also then run through all tasks within that project and return them to draft.
You could do this manually by selecting all tasks in the workplan and returning them to draft, but using a custom action to kick it off and running a workflow on everything that has a Parent Project set as that project would remove the need to do this step manually.