El secreto de todo esto parece estar en el uso de las comillas simples (que no evalua nada PHP dentro de comillas simples) y del salto de linea como codigo ASCII (13) ...
 
Sería:  
 Código PHP:
    <?
$h="localhost";
$p="password";
$u="user";
$d="db";
 
$v  ='<?php'.chr(13);
$v .='$host="'.$h.'";'.chr(13);
$v .='$user="'.$u.'";'.chr(13);
$v .='$pass="'.$p.'";'.chr(13);
$v .='$db="'.$d.'";'.chr(13).chr(13);
$v .='$conex=mysql_connect($host,$user,$pass);'.chr(13);
$v .='mysql_select_db($db,$conex);'.chr(13);
$v .='?>';
 
$fp=fopen("config.inc.php","w");
fwrite($fp,$v);
fclose($fp);
?>    
  Date cuenta que donde hay q presentar una $variable ... dicho nombre (codigo PHP de vairiable) está entrecomillado simple '$variable' .. con esto PHP no entra a ese string a evaluarlo e intentar asignarle valor a esa posible variable .. Las variables que necesites usar .. concatenalas como de constumbre ...  
El salto de linea (codigo ASCII 13)  usado es el equivalente a \n .. si tubieras problemas con el \n y necesitas \r o \n\r .. busca el ascii correspondiente a \r . 
Un saludo,