As far as seperation of modules, etc, that is more of a design decision we made. GL 1.3.x is very much procedural so dividing it up into lib-.php let's us group related functions together. In GL 2 we are taking an object-oriented stance so much of our design is a result of our OO experience and using portions of UML.
As for your pocess for organizing and learning code, use what works for you. I personally don't use any paper trails. I instead rely on my IDE (e.g. Komodo or PHPEclipse) in conjunction with CVS and a CVS web interface like Chora (see our CVS here.
---
The reason people blame things on previous generations is that there's only one other choice.