It seems the options are: (1) Continue to pay them something close to what they are making even though they no longer work on the cash cow and until the next project makes money, which might be years if ever. (2) Try to get them to take a deal where they will get a percent of the profits of the new project which should be more than what they are currently making. Of course there is a chance the project won't ever make money so do you take the pretty much sure thing $500k bonus or do you take a chance on making $5 million/year on this thing that may or may not happen. $5 million/year is probably at the upper bounds of what is possible, it could be $10 million or maybe even $20 million but any more than that would really be dreaming. That is the whole point, it is risky in that the outcome is very much unknown. (3) Have them continue to work on the new project but also do some work on the cash cow so that they get some bonus from the cash cow but they are working on the new thing as well. The problem with this is that for the new project to succeed it will probably take complete focus, dedication and passion from the team involved so splitting time like that will probably doom the project from the start. (4) Force them to take some one of the above.
It isn't really possible to set up milestones. The only relevant milestone is whether or not the new project is making any money, everything else is meaningless.