You've got a couple of things that are going to get in way.
a.) datalinking to a shape requires that the field name and a custom property name be identical, so part of it is planning the shape construction and the database schema to match.
b.) the timeline is an add-in with internal code that has to map to it's known shapes, so you don't get to change the custom property names that it uses
c.) the "prop.visMilestoneDate" property (in the milestone shape) is linked to a "User" field that datalinking cannot get to
options : create custom code to load the necessary datarecordsets with your database information and then have it update the user.visMilestoneDate field in the shape (which then should get reflected into the necessary custom property)
al