Basing correctness on current reality is definitely a bad idea. This leads to programs that can be compiled correctly with specific compiler version only, and programs that require specific version of runtime up to its minor version.
If lots of people and code rely on that reality, then yes, maybe I can rely on it as well. That kind of answer would satisfy me. Several people answered my question and independently said that grep should work like that, so I am more confident in that now.
What would you do if the author(s) decided "if its good enough for Perl, its good enough for us"?
I don't know. If I were the author, I'd try to fix my lib, so that it worked like stated in the docs.