ya lo he resuelto!!
Aunque no me habéis dado la respuesta 'digerida' me han ido muy bien vuestras opiniones,
aquí os dejo la función
Muchas gracias
Código PHP:
function SumChildren($parent, &$rows) {
foreach ($rows as $row){
if ($row->parent == $parent->id ){
MiCalse::SumChildren($row, $rows);
$parent->numlinks += $row->numlinks;
}
}
return $rows;
}