$_SERVER['SCRIPT_NAME'] is not index.php, but the drupal-path, when mod-rewrite is set in the declaration instead of .htaccess files.
This causes hook_init to return false on every pageload.
It can be solved by adding the pass-through flag to the the RewriteRule directive:
Change
RewriteRule ^/(.*)$ /index.php?q=$1 [L,QSA]
to
RewriteRule ^/(.*)$ /index.php?q=$1 [L,QSA,PT]
Posted it here if anyone else should run into similar problems :-)