They've been slowly moving to a more object-oriented approach, but in general the consensus seems to be that procedural code and a very, ahem, loose separation between logic and views is just fine. See http://drupal.org/node/547518 which makes some good points (Drupal uses a lot of patterns commonly found in object- and aspect-oriented code, even if it's neither) but also reads like a long apology for crummy software architecture.
It's a mixed blessing, I think. OOP can be scary to people new to programming, and the PHP ecosystem has a lot of new programmers. On the other hand, I'm very, very glad I don't have to maintain the Drupal codebase.
The 'us too' quality of that blog post is disturbing. They don't need to defend their architecture choices against people who naively assume that OO is an appropriate paradigm for all domains. The list of how 'design patterns' are really in there somewhere is particularly off-putting. I didn't like developing for Drupal, but I certainly support their right to do the things in the way they think is best for the problems they are trying to solve.
It's a mixed blessing, I think. OOP can be scary to people new to programming, and the PHP ecosystem has a lot of new programmers. On the other hand, I'm very, very glad I don't have to maintain the Drupal codebase.