E' ovvio che non funzioni in quanto mysql_num_rows restituisce in numero di record selezionati che nel tuo caso è 1 dato che effettui una count. La count effettua già il conteggio dei record, quindi non devi utilizzare mysql_num_rows ma semplicemente leggere il valore restituito:

Codice PHP:
$sql9 mysql_query("SELECT COUNT(giorni.trasferta) FROM giorni WHERE giorni.giorno BETWEEN '$data1' and '$data2' and giorni.trasferta='1'") or die(mysql_error());
$record mysql_fetch_array($sql9);
$count $record[0];