The key with all of these principles is to remember everything in moderation. Otherwise you abstract things so much that to go from webpage to sql database you need to create 5 files and 1 stored proc, this is an extreme example of course.
5 files and a stored proc is, sadly, normal. Most applications grow just large enough to require the layers (for organization), while never gaining much from them (like reuse).
There's a quote, that goes something like: "For each rule of thumb, there is an equal and opposite rule of thumb. Both are wrong".
I'd like to see a lot more context with those principles. I'd like two examples - one which demonstrates why the principle is useful, and one that shows it going just a little too far.
Otherwise, these principles just create what artsy types call a "lens". It might help you reach an epiphany ("doh, I should have abstracted that bit - that's the word, abstraction, where did I hear that?"), but it also leads to the "Journeyman Programmer who just read Design Patterns and wants to make everything a Stratergy" phenomena (is that a Joel misquote?).
The key with all of these principles is to remember everything in moderation. Otherwise you abstract things so much that to go from webpage to sql database you need to create 5 files and 1 stored proc, this is an extreme example of course.