I run into this frequently. I found out the hard way years ago that if you move a task out of a milestone, or move a sub-milestone anywhere but laterally, then any associated time entries become detached and are instead logged against the project. Also, if the time has been billed already then they are locked and can't be relocated back to the tasks they came from, which seriously messes with your budget tracking ability.
There are several ways to deal with this, based on what you need:
If you want to relocate a task or milestone somewhere NOT laterally, such as out of a parent milestone AND there is no time logged against it already then it's easiest to just cancel it or remove it from the project plan and recreate it in a new project plan. If it's staying in the same project plan then it's okay to move it as long as the move doesn't change any other tasks or milestones in the process that have had time logged against them.
If you want to relocate a task or milestone somewhere NOT laterally, such as out of a parent milestone AND there is time logged against it already then:
- I reduce the budget to the existing task(s) to whatever has already been used and then Complete it.
- I create a new task with the remaining budget wherever it needs to go.
- I make a note (in the task description and/or project comments) of what I did and where the budget came from.
If you just need to keep it off someone's task board and resourcing outlook then you can soon put tasks/milestones/projects on pause, rather than unassigning it and leaving it in an active state. Previously, Pause status didn't do that, but they had us test the new functionality and with a few changes we are able to do it. I'm not sure when this is going to be available for everyone, so keep your eye on the Accelo updates that they email out.
Make sense?