I strongly agree on the best practices documentation and script repository for the best way to educate any professional (software/database) developer.
From my perspective the example used (first date) is very basic, so any developer giving that solution should be a junior one, whose code must be reviewed as a good practice in any development process but ok “shit happens”.
Now entering the epic battle DBA vs Developers, ideally any high end systems architect will start the design from the systems component down, leaving the database layer ultimately as a kind of persistent layer that should not have any “business rule” built in, again ideally!
In the DBA vs Developers battleground the “write an stored procedure to accomplish that business” process is attacked as if we write (DBA) the SP any other change that is needed can be done without the need of an application development (translated as we can modify it faster in production) sadly true, but terrible wrong (it depends).
Nhibernate or related technologies have problems related to the same problems that DBAs blame developers (poorly sql sentence), but eventually this technologies will generate the desired sql and will accomplish the purpose of abstraction from the database layer.
Most of the time I fight on both sides (DBA/Developers), there is no golden rule and at the moment no ideal solution. I do love database development( not a DBA hater) , I really like getting inside tips from the DBA when the project has one, and try to accomplish by myself any DB part (stored procedures, DB design etc) but still believe the development world is more fun and problematic.