time() ti da non solo la data ma anche ore, minuti e secondi.

quindi scadenza >= time() considera anche l'orario e non solo la data.

prova a fare cosi':

codice:
$sql1 = mysql_query("select * 
from offerte 
where albergo = '$hotel' 
and from_unixtime(scadenza, '%Y-%m-%d') >= CURDATE() 
order by scadenza asc");
non serve piu' la variabile $time

sempre che scadenza sia un unix timestamp.