La query che stai facendo ritorna un valore unico, non ha senso usare un ciclo per percorrere il risultato della stassa.
$sqlcat = "SELECT max(numordine) FROM ordini";
$rescat = mysql_query($sqlcat) or die("Impossibile caricare gli utenti: ".mysql_error());
$rowcat = mysql_fetch_array($rescat) ;
if(empty($rowcat))
$ordine=1;
else
$ordine=$rowcat[0]+1;
echo $ordine;