Hey,
the LOC statistics for Drupal are definitely flawed somehow. Ohloh reports 21,103 LOC for Drupal core but there are definitely more.
The reason might be that many PHP files in Drupal have a different extension - namely .module, .engine and .theme. Without counting these, the statistics for Drupal are worthless, unfortunately, as more than half of Drupal's code lives in .module files.
As of today's Drupal CVS HEAD:
find drupal -type f ( -name *.php -o -name *.inc ) -exec egrep -vh '^$' {} \; | wc -l
27220
(= number of non-blank lines in .php and .inc files)
find drupal -type f ( -name *.module -o -name *.theme -o -name *.engine ) -exec egrep -vh '^$' {} \; | wc -l
27351
(= number of non-blank lines in .module, .theme and .engine files)
So, Ohloh is basically ignoring half of Drupal's code.
One solution would be to make either the file types that are used to calculate the LOC or the filetype->languate mapping a project-specific setting.