It does not break binary compatibility in the sense that something is certain to crash, or that program will not start.
However, it may well break functionality, if that method ever got inlined. Inlined versions will still access that static variable, and then code built against new header file will produce methods which do not use the static variable. It depends on code if this is a problem or not, but often it is, the static variable (which will not be used by recompiled code) probably wasn't there just for fun, and neither is the replacement (which will not be used by old inlined code).
Lesson: If you want to avoid recompilation of everything after library header modification, do not access static variables from any code in header files, or do anything else which you might want to change. Assume all code in header files may get inlined.
Related question: static variables in an inlined function