Eu suspeito que você tenha que usar o "PT" devido a ter um Alias em algum outro lugar da sua configuração. Ou um VirtualHost DocumentRoot não-direto.
De qualquer forma, isso parece funcionar nos meus testes:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
RewriteEngine on
RewriteCond %{HTTP_HOST} ^foo\.localhost [NC]
RewriteCond %{REQUEST_URI} ^/foo/.*$ [NC]
RewriteRule ^/foo/(.*)$ /$1 [R]
RewriteCond %{HTTP_HOST} ^foo\.localhost [NC] # <---
RewriteCond %{REQUEST_URI} !^/foo/.*$ [NC] # AND is implicit with above
RewriteRule ^/(.*)$ /foo/index.php?q=$1 [PT]
</VirtualHost>
Com a seguinte saída:
$ curl -D - foo.localhost / index.php
HTTP/1.1 200 OK
Date: Wed, 06 Nov 2013 13:46:45 GMT
Server: Apache/2.2.17 (Fedora)
Vary: Host
X-Powered-By: PHP/5.3.6
Content-Length: 55
Connection: close
Content-Type: text/html; charset=UTF-8
Host: foo.localhost
URI: /index.php
Query: q=index.php
$ curl -D - foo.localhost / foo / index.php
HTTP/1.1 302 Found
Date: Wed, 06 Nov 2013 13:46:51 GMT
Server: Apache/2.2.17 (Fedora)
Location: http://foo.localhost/index.php
Content-Length: 293
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://foo.localhost/index.php">here</a>.</p>
<hr>
<address>Apache/2.2.17 (Fedora) Server at foo.localhost Port 80</address>
</body></html>
$ curl -D - foo.localhost / anything
HTTP/1.1 200 OK
Date: Wed, 06 Nov 2013 13:46:59 GMT
Server: Apache/2.2.17 (Fedora)
Vary: Host
X-Powered-By: PHP/5.3.6
Content-Length: 53
Connection: close
Content-Type: text/html; charset=UTF-8
Host: foo.localhost
URI: /anything
Query: q=anything
$ curl -D - foo.localhost / foo / anything
HTTP/1.1 302 Found
Date: Wed, 06 Nov 2013 13:47:04 GMT
Server: Apache/2.2.17 (Fedora)
Location: http://foo.localhost/anything
Content-Length: 292
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://foo.localhost/anything">here</a>.</p>
<hr>
<address>Apache/2.2.17 (Fedora) Server at foo.localhost Port 80</address>
</body></html>