Because if function foo's third flag parameter supports FOO_ENABLE_FEATURE_X starting from 2.31, and a program only occasionally calls foo with this flag, there is no good way to detect this incompatibility on a 2.30 system at link time.
The restriction is only annoying because there is no way to trivially link against an older "minimum requirement" ABI.
The restriction is only annoying because there is no way to trivially link against an older "minimum requirement" ABI.