Indexed data access exposes the physical schema of datasets and makes violations of the relationship between coordinate and indices commonplace for datasets that change, such as aggregations of rolling archives. Making data requests in coordinate space will be added to the next generation of data access protocols, partly in order to solve this problem.
When model data is encoded in GRIB, the dataset schema is lost. So is an unambiguous identification of the the schema variables. To deal with these problems, GRIB reading libraries probably make assumptions that may not be valid for all datasets.
Problems with external tables make BUFR/GRIB not suitable as long-term storage formats. To solve this, there must be a foolproof way for reading software to know what tables the writing software used, and there must be an authoritative registry of tables.