Salut,
codul ar trebui sa fie cam asa:
Cod:
function listGenres() {
$result = '';
$query = mysql_query("SELECT * FROM category ORDER BY name ASC");
    while($row = mysql_fetch_array($query)) {
        $id = $row['id'];
        $name = $row['name'];
        $result .= "<option value=\"$id\">$name</option>\n";
    }
    return $result;
}

$listGenres = listGenres();
Initial se creaza o variabila goala, la care apoi se adauga (concateneaza) string-uri cu optiuni si se intoarce rezultatul.
Nu ar strica si niste verificari aditionale sa vezi daca $query chiar returneaza randuri sau nu.