Prueba con esto:
Código PHP:
<select name="lista[]" size="4" multiple id="lista">
<?php
//Operaciones necesarias para cargar la lista desde la BD
while ($rows0 = mysql_fetch_array($result)){
extract ($rows0);
?>
<option value="<?php echo $nombre; ?> "
<?php
if(substr_count($asig2, ",")>0){
$asig2 = explode(',',$asig2);
for($i=0;$i<count($asig2);$i++){
if($asig2[$i] == $nombre){
echo 'selected';
}
}
}
else{
if($asig2 == $nombre){
echo 'selected';
}
}
?>
>
<?php echo $nombre; ?></option>
<?php
}
?>
</select>
La idea es que si encuentra una coma hace un arreglo de la cadena, y trabaja atraves de eso con un for... cualquier duda me avisas.
Saludos.