I've seen this caused by several different things.
First would be line breaks in a cell. That's a no-no for data merge. You have to export the Excel file as plain text, and the breaks will destroy the records by changing the number of fields (and the number of records). You can either create new columns sufficient to hold all of the paragraphs one to a cell, or replace the breaks in Excel with some character or character combination that is not otherwise used and run a find/change after the merge to replace it with the proper break.
There is also apparently some sort of bug in the multiple record per page preview that popped up in CS5 and has not been fixed. Previewing the layout looks fine, but the merge itself is jumbled. The workaround is to undo the preview step with Cmd-Z or Ctrl-Z, or even better not preview at all and just merge on faith.
One of the commercial catalog plugins might handle breaks in cells better than ID's native merge, but I've not used them so I don't know.
Agree with Peter's answer about line breaks in a cell. We see this at my work all the time with a specific client. Our solution is to do a find/replace the soft-return used in the excel file with the "pipe symbol": this character | which is on a QWERTY MAC keyboard located above the \ key. This character isn't normally used by typists so makes a great choice as a "delimiter" and requires little post-processing in indesign to do a find/replace on the | symbol.