My GPS accuracy was spot on until this past weekend. I was returning from a friends house a week ago and the route was along the side of a mountain and it was raining heavily. The D3 GPS clearly didn't know where I was and was relying totally on the 3D hybrid sensors and VSS which were quite confused. However, once I was clear of the mountain, I got the accuracy back and didn't really think much more about it. My GPS antennae is installed in the dash which obviously is not ideal. Anyway, I didn't use the mapping functions of the D3 for about 5 days but was still driving. Then I switched on the map and it was way off again. The satellite signal was pretty much zero so I decided the antennae had slipped off it's perch inside the dash and fell into the mess of wiring. I popped the D3 out and sure enough there it was. I put the antennae back in place and the GPS signal went back to full strength.
This is where I learned something new. I had assumed that the D3 used the GPS first to determine position then supplemented with the 3D sensors, VSS and map matching. That doesn't appear to be the case though. With full GPS signal, I would have expected my location to immediately become accurate, but nope. It started off at the correct location but as I drove to work it got further and further off. So I stopped and cleared the sensor learning status and voila! it pops me back to where I should be on the map and has worked since.
My theory is that if you have crappy GPS signal, your learning system is using bad data which will screw up your system once the signal returns.