Perfecto, ya está. Al final, la solución era muy simple.. no es necesario el if:
Gastonsl, comprueba a ver si te gusta
Opté por:
"SELECT hora, canal, programa FROM `generalistas` WHERE canal = \"$canal\" AND
hora>CURTIME()+3600 ORDER BY canal, hora LIMIT 2";
El NOW+3600 lo puse al principio y juro que funcionaba, pero al rato dejó de hacerlo asi que probé con este y funciona perfecto.
Gracias compañero