That happens because these are so called pending breakpoints.
I have a patch for this that works on my copy of C::B without errors since a couple of weeks.
The only problem is that you cannot securely set a conditional bp in that case, because gdb can only test the condition if the bp is really set, that means the library is loadced.
If that does not work, because the condition is faulty, I am not able to catch the answer on win[2k] (on linux it works fine). It is a problem with parsing the output of gdb.
So the only solution at the moment would be to make it either platform-specific (if a condition can be defined) or to allow setting the condition only if the bp was hit the first time.
I was quite busy on work the last weeks, so I could not spend so much time in it.
Nevertheless the main part (setting and clearing) of pending bp's works (at least with gdb > 6.7.50, can not test older versions) .