I cannot really help with your M$ problem but it sounds like its complaining that the source you have pointed to is lower than it's currently pointed at i.e. it may be pointed at a stratum 1 and your server is stratum 2.
As regards your own ntp I would suggest the use of the ntp pool servers. There is a group of servers ( I am one) that contribute to
www.pool.ntp.org . I would suggest modifying your /etc/ntp.conf and adding 3 lines;
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org
It would also be preferable to use servers in your region and you can find a list at;
http://ntp.isc.org/bin/view/Servers/NTPPoolServers
In this case you would use;
server xx.pool.ntp.org
server xx.pool.ntp.org
server xx.pool.ntp.org
where xx is your zone like the uk or us
Reason for using multiple servers is to allow for non-reseponse and also allow ntp to determine the most accurate one by comparison. I personally have 5 as an ntp source.
On ntp, the daemon initially pings every 64s then gradually decreases this rate over a period of hours to 1064s and uses the drift file to maintain its own time. The closer you are to the source the more accurate ntp will be because ntp is governed by the hop or the time it takes for its ping to reach the reference time server and be returned.