seachange,
Even though this is posted in the .vba newsgroup I don't see anything
that mentions that you want to do this in code.
The only way to "attach" a milestone to the end of a task is to simply
show the Finish date as a milestone on the Gantt Chart. That is, go to
Format/Bar and set the Bar shape "end" to be a diamond (or whatever
symbol you like for a milestone). You can leave the Bar "middle" as is
or eliminate it. If the Bar "middle" is eliminated the task will still
have non-zero duration but will show as a single milestone on the Finish
date.
Hope this helps.
John