Claro que no, la variable YA esta siendo reconocida como PHP porque la etiqueta "a" la estas imprimiendo con "echo"... en todo caso, las etiquetas de apertura y cierre de PHP deben ir antes y después del hecho -algo que no puse porque es una obviedad- de esta forma:
Código PHP:
<?php echo '<a href="#" onclick="ed2k(\''.$row[id].'\');">link</a>'; ?>
O bien puedes realizar solo el "echo" para imprimir el ID:
Código PHP:
<a href="#" onclick="ed2k('<?php echo $row[id]; ?>');">link</a>
Tambien puedes dejar afuera el "echo" utilizando la abreviación siguiente:
Código PHP:
<a href="#" onclick="ed2k('<?=$row[id]?>');">link</a>
Aunque esta ultima (<?=) puede traer problemas con XML.