I have seen this when working with java classes. If I try to set the breakpoint on the member variable declaration then it adds a watchpoint instead of a breakpoint. It doesn't seem to matter if I am both declaring and initializing the member variable or just declaring it ... it will only add watchpoints at that location.
If inside one of my member methods I try to add a breakpoint to a local variable declaration it will not add anything at all. Inside the member method if I try to add a breakpoint on just about any other line of code, such as assigning a value to the local or member variable, then it does set a breakpoint.