yes... I know exactly what problem you're having. I bought a dakota 20 in august and have experienced similar symptoms. Here's what I found: after the unit was powered on for a while (maybe a half hour or so) the compass would spin wildly. I could be facing a cache according to the compass, then I'd turn the unit a small amount, say 20 degrees one direction, and the compass would flip a full 180 or some other amount that was much more than the amount I turned. Basically navigation was impossible. I then tried to calibrate the unit and it would fail everytime.
I found out that I had to power down the unit and power it back on (effectively "rebooting" it) and then calibrate the compass immediately and the calibration would be successful. This issue with the compass spinning wildly would always come back after the unit had been powered on for some period of time and I found that just "rebooting" the unit would bring the compass back to proper operation.
I had a similar compass issue once with my etrex vista: after i changed batteries the compass wasnt working properly - I had gone from one brand of battery to another, the battery composition was different and threw off the compass sensor, so a calibration was necessary. So to be sure, I tried several different kinds of batteries in my dakota, and removed the case, carabiner clip, my watch, basically anything that could possibly be interfering with the compass sensor but the issue was still present.
I assumed my unit was defective so I sent it back to amazon and had it replaced, only to find the replacement unit had the same problem. I assumed the issue would be fixed with a firmware update in the future, or that garmin would recognize the issue and start fixing it under warranty so I kept the unit. I haven't checked for a firmware update lately so I'll go do that now and see if the update fixes my problem.
i see there is a fix for this . i have never had this problem, i must have had the latest firmware in my dakota.