This seems not to work (as I would expect) if the "orphaned" foo.rst file is included in bar.rst file. In this case, while it suppresses the "not included" warning, it emits a warning about duplicated labels (which are written in the foo.rst file).
An alternative solution would be to put foo.rst (with path) in the exclude_patterns list of conf.py.
My 2 cents,
Stefano