Lo de la hora del servidor, no sé si haya mucho que hacer si está mal configurada

. La única opción que parece viable (pero no óptimo) sería obtener la hora desde un servidor remoto.
En cuanto a la suma de horas, puedes usar strtotime():
http://www.php.net/strtotime