Well, I'm still not sure whether it does or not! I drove to work this morning past 3 speedcams (some test, some real) with guidance muted and 2 of the 3 warnings sounded. The one that didn't sound a warning was a test cam I had put on close to a corner.
I noticed that the it only sounds the warning if it thinks it's a new camera and the way it decides that is if the current distance to the cam is further than it was previously. I also noticed that when it stores the distance in the variable it adds 30 (metres, I think) to it (presumably to counter slght gps inaccuracy). This makes me wonder if the camera isn't picked up until you are quite close to it then the potential is there for you to be closer than the last time the variable was updated and therefore not be identified as a new camera and not sound the warning. I'm wondering if this is what happened on my example.
It's all just guesswork really though, I wish there was a way you could debug this without having to keep loading changes to the car and trying them out!
It does do something like that, and script code (which tries to minimize needless talking) works on top of some rather fancy footwork iGO does to determine when to start warning you of cameras...
Too bad you can't simulate driving with speedcams...