Any namespace issues are largely dealt with by naming conventions such as prefixing function names with the module name. For the 'hooks' that connect modules to the rest of Drupal this is compulsory. You can structure your own code pretty much however you want including using classes or whatever php allows etc.
So while it isn't perfect I don't see it getting in the way too much of module development. You could of course argue that Drupal would be more extensible if it did use OO or some other paradigm but I see that as a slightly different issue.
So while it isn't perfect I don't see it getting in the way too much of module development. You could of course argue that Drupal would be more extensible if it did use OO or some other paradigm but I see that as a slightly different issue.