These are all questions that I've been wondering about since I made my first wizard. I do have one more, though. Do you guys tell the DM what you've prepared when you commune, or just cast what's convenient at the time and then count it towards what you've prepared? As it's written, I think it's the first, but my tables do the second and it runs a little more smoothly.
The DnD-style Wizard has always had to prepare his spells ahead of time.
Knowing a spell that is perfect for a situation but not having it prepared is one of the classic frustrations of the Wizard.
However, you say your groups always play with version #2. This is a common houserule in many DnD-style game I've played... or not even a houserule: A simple refusal/unwillingness/inattentiveness to bother with the preparing of spells. The GM has a lot on his plate and it's really not interesting to bother watching your Wizard's casting and spell prep. Everyone just goes forward, retroactively declaring each prepared spell.
Now, while this is a common thing, it doesn't make it a GOOD thing for the game. The limitations imposed by preparation are, generally, used to limit the Wizard's versatility. A Wizard who can cast ANY spell in his spellbook is, in the 3e DnD parlance, just a Sorcerer with more spells known and better spell slot allocations.