$_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 :-)