Why would an application use one central metadata table to hold metadata for all other tables?
I believe this is called a "Big Ball of Mud".  The not so hidden disadvantage is the system appears to have done away with normalization of the data model for the metadata.  This is likely lead likely lead to inconsistencies over time.  However, it is possible that the script you described, just rebuilds it from the database's metadata.  

All the databases I have worked with, have a nice normalized data structure for the meta data in place of the single metadata table you are describing.  This involves the appropriate tables for the appropriate metadata.  Most cache the query and resulting optimized execution plan for recently used queries. 

If the code is figuring out the required to query on the fly, by querying the metadata table, it is likely slower than it needs to be.  

A query like select a,b,c from T, where d = ? can be supported by a single query with a parameter. This also prevents SQL injection when someone enters a value like 1 or 1 == 1.  On a desktop application it may not be that serious, but many companies have learned how serious it can be.  

There is a reason many developers use hibernate, Spring, and other data access layers.  Some of these can build the database required to support the application, and also work with databases that have already been built.