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.