If we are envisioning that the function might emit multiple warnings per call, a useful definition could be to return the number of warnings (so zero is good, not-zero is bad). But I'm not sure that's really better than a boolean result. pg_dump/pg_restore won't notice anyway, but perhaps other programs using these functions would care.
A boolean is what we had before, I'm quite comfortable with that, and it addresses my silent-failure concerns.