In reality you can create it however you like, it doesn't have to be a CNAME it could be just a plain A record (like www is).
But your main problem seems to be with the dns propogating. After creating it, the first thing you should check is if it resolves on the server itself with a simple host lookup or something ( host -a m.domain.tld ).
As to refresh, thats what the TTL is for (time to live). It's in seconds so simply divide the number by 3600 to see how long (hours) before dns is supposed to propogate.
With reference to the TTL, it's for the remote server. So if you create a record at midday with a 12 hr TTL, and the first time a remote server looks up your domain is at 10pm, that means it won't check the dns again for an update until 10am the next day.
Last edited by Parsec; 16th February 2013 at 14:19.
Reason: added ttl explanation