After noting that some audio recorders have inaccurate clocks (for example he recommends the Zoom H4n over the Zoom H4) he gets down to the meat of the issue:
More specifically if you sometimes work with NTSC frame rates (like 23.98 or 29.97) and sometimes with non-NTSC frame rates (like 25 for PAL or 30 for the Canon 5D), then FCP will almost certainly screw things up unless you are careful.The problem is that when you import an audio track, Final Cut Pro assigns it a "frame rate" based on the sequence preset that was active when the FCP session in which the project was created was started.
So you want to be careful about what preset you chose before you import your audio, and have all your video match too. He recommends using Compressor to conform all video to a common frame rate. He also recommends always using a preset that matches your clips; either NTSC or non-NTSC.
The article is definitely worth checking out as it covers a few different fixes, and explains the reason for the problem in the first place:
25 Hour Day: DSLR Sync Drift in Final Cut Pro