para tu primera pregunta que es la de restar horas pudieras leer un poco de mktime a ver si es por ahi lo que buscas o ver el contenido de este link
http://www.lawebdelprogramador.com/c...d=71&texto=PHP
y en cuanto a tu segenda pregunta, el error pudiera estar en la variable $hoy, debes de asegurarte que la fecha en $hoy sea en formato ingles(año/mes/dia).
espero y te sea de ayuda.
salu2