I know there is a new feature in 5.0 called a Parent Constraint that easily fixes this, I saw it today in a demo. If you are runing 4.5 PLE, they said it should be out by siggraph, or next month if you can wait.
This prob won't help then, but the example I saw was a helicopter following a path, then branching off the curve whenever you want.
Simply create a locator where you want your object to end up, shift select your object, do a Parent Constraint. Then, simply turn the value or weight from 1 to 0.
Take your ojbect, assign it to the motion path. When you want your object to branch from the path, key the weight value of the locator.
again, if you don't have 5.0, this won't help, but thats how I know how to do it.