DB Structure: one table to hold all domain values?
That design structure is commonly referred to as entity-attribute-value, or EAV.  Some people hate it, others see the inherent beauty in its design.  There is nothing wrong with the design, as long as it's carefully thought out, and implemented properly.  

Some of the more common "problems" people associate with EAV are:


Good chance for poor performance
non-intuitive design leading to difficult application maintenance
virtually impossible to reliably enforce referential integrity


Good references abound:


https://softwareengineering.stackexchange.com/questions/93124/eav-is-it-really-bad-in-all-scenarios
Attribute and Value tables on SQL - Is this a good practice?


Porting a database from EAV structure to a more typical relational design will be very involved.  Any and all code that touches the data will likely need to be changed.  You could use triggers on the existing tables to allow you to slowly port code from the EAV model into a relational model, or possibly you could add a series of views over the re-modeled data to support reporting or other read-only aspects of the client application once you convert to a relational model.