... Even though my enclosure was sealed with O-rings I still found that I was getting moisture inside. This problem was predicted by a MechEng colleague: After the driver is used in damp conditions, as the circuit cools down, the reduced pressure sucks in damp air (even past o-rings) which then condenses on the circuit when it gets cold (ie when left out in the rain all day). ....
that's a very good point, and I've seen the same thing at work. There's also the potential for actually sucking moisture up the wire strands in some instances. I had a device that failed in the field due to the power wire burning out. Enough moisture had been sucked up the wire strands to cause corrosion all along the wires, and the corrosion increased the resistance, producing heat that increased the rate of corrosion, etc... until eventually the wire got hot enough at the point where it was soldered into the circuit board that the wire broke or fused. The solution for a lot of these devices was to use sealed wire, which has sealant (something like RTV) mixed into the strands at regular intervals. The device had to be able to survive dunking under water, so I don't know if the waterproof breather vent gadget would have worked.
For my bike light projects, I always add some sort of coating just in case. The cost is small, it protects all the work I've done on the circuit, and it reduces the chance that I'll get stuck in the dark on some winter evening.