Walter,
In addressing another point you raised, lack of knowledge of the logical design when working on a database design. Well, no approach on earth can adapt to the lack of documentation. Reverse engineering anything that you don't have documentation for has a unique set of problems that have nothing to do with the design itself, but rather with the lack of documentation.