Chiamando mysql_fetch_assoc() recupera la riga successiva (ovvero, quella successiva che non hai già recuperato). Dopo aver recuperato tutte le righe, restituisce false . Quindi, una volta superato il primo ciclo, hai recuperato tutte le righe e tutto ciò che otterrai è false ogni volta!
Se hai bisogno di riutilizzare gli stessi dati due volte, che ne dici di metterli tutti in un array?
$rows = array();
while($row = mysql_fetch_assoc($affiliateID)){
$rows[] = $row;
}
Ora puoi scorrere $rows quante volte vuoi:
foreach($rows as $row) { ... }