I'm having the same issue with my merge field codes being able to be properly merged from an Access database. In researching this on my end, I found that the new MS Office 2013 has a limit to how long your merge field codes can be. The titles can not be
longer than 40 characters in length. If you adjust the column titles in your database to be less than this, you should not have any problems. I did this and now, no issues.
Plus, as Doug also mentioned above, there are certain symbols you can not use. "One thing to note is that the field names in your data source must contain only alphanumeric characters (No @,#,$,%,&,(,), etc) and the field names must not start with
a numeric character (0-9)."
Hope this helps.