Eu não acho que há uma maneira de evitar isso, mexendo com vfs defs. Você sempre terá um vhost padrão.
No entanto, você pode realizá-lo com o mod_rewrite. Algo como
RewriteEngine on
RewriteCond %{HTTP_HOST} !^mydomain.com [NC]
RewriteRule ^/(.*) /$1 [F]
retornará 403 (F = proibido) quando o servidor for atingido por IP, a menos que alguém esteja sendo esperto (ou seja, inserindo um cabeçalho Host: http enquanto ainda estiver usando o IP; navegadores normais não o fazem)
Você também pode tentar redirecionar para mydomain.com em vez de proibir:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^mydomain.com [NC]
RewriteRule ^/(.*) http://mydomain.com/$1 [R=301]