I just realized something I hadn't before about Desmond and his flashes. Let's look at what his flashes were (in season three):
1. Locke's speech 2. Charlie gets struck by lightning in the tent 3. Charlie drowns trying to save Claire 4. Charlie slips on the rocks and breaks his neck 5. Hurley, Jin, Charlie, and himself walking through the woods. Flashes include finding the cable, seeing the red dot in the sky, the parachuter's legs hanging, Charlie getting hit with the arrow, etc. 6. Charlie drowns in the hatch after flicking the switch
The first four flashes were events that he would have to somehow prevent in order for Charlie to live. But the fifth one was different in that he had to MAKE it happen. If he would have never had the flash, he never would have went down the beach with the other three... there would have been no reason to go. He needed to see the flash in order to know what was going to happen, but it never would have happened if the flash wasn't there. So really, this flash wasn't exactly "seeing the future". It's almost as if the flash itself was part of the timeline.
This may go back to Jacob and his "freedom of choice" belief. Maybe he was testing Desmond to see if he'd choose to make the flash happen or not. Either that, or he wanted to make sure Desmond found Naomi, so she would be able to call the freighter people to the island (as it seems Jacob likes visitors).
Please post any further thoughts on this. If there have been old posts stating the same idea, I apologize.