Yo uso un código parecido en mi sitio. Lo único que he hecho es crear tres hojas de estilos, una para ie5 (ie5syle.css), otra para ie6 (ie6style.css) y otra general para el resto de navegadores (style.css). Todas con css válido adaptado a las deficiencias de los navegadores mencionados.
Código:
<?php
$nav = $_SERVER['HTTP_USER_AGENT'];
$nav = strtolower($nav);
$ie5 = 'msie 5';
$ie6 = 'msie 6';
if(ereg($ie5, $nav)) {$_SESSION['nav'] = 'ie5';}
elseif(ereg($ie6,$nav)) {$_SESSION['nav'] = 'ie6';}
else {$_SESSION['nav'] = '';}?>
Y a la hora de llamar la hoja de estilos:
Código:
<link href="<?php echo $_SESSION['nav']?>style.css" rel="stylesheet" type="text/css" media="screen"/>
Un saludo.