The (very) general answer is that when doing this sort of mail-merge, Office creates an internal database to construct the table from which it can extract the required records (from Excel).
It then applies an SQL query, which it creates according to the queries and values.
There is a problem with either the query, or more likely one of the values in the worksheet, which means that during the internal construction phase, an invalid SQL command or parameter is created.
Try using the first half of the Excel sheet only, see if it runs OK, then do the same with the second half of the Excel records. If only one half of the values returns an error, then take that half and repeat the process, using half the records, until you find the record that is causing the difficulty.
There is also the possibility that that SQL parser is getting confused by the formatting applied to the cells, and is treating numbers as text, or vice versa.
To work around this, try exporting the Excel sheet to a .csv file (which will strip out any Excel-specific formatting), and try the mail-merge using the .csv file as the source.
It will obviously be quicker to try this before the 'hunt the record' approach that I suggested above :)