The only way I can replicate your problem is if D1 contains a date/time, and not just a time.
Say you have a date/time in that cell of 17 Nov 2016 6:50 AM (displayed in HH:MM AM/PM format as "06:50 AM") and say it is now 17 Nov 2016 7:59 AM.
Your calculation will be attempting to calculate the HOUR of 0.28472222 (the numeric value for 6:50 AM on 0 Jan 1900) less 42691.33264 (the numeric value for 7:59 AM on 17 Nov 2016). An HOUR(-42691.04792) issues a #NUM! error (as negative values are invalid for date/time calculations) and will give you problems in your conditional formatting.
If you do have a date/time in cell D1 (even though it is formatted to just display the time portion), then you can either use the following formulae if you want an elapsed time of 27 hours to display as red:
=(NOW()-D1)*24<2 as Green
=(NOW()-D1)*24<4 as Yellow
=(NOW()-D1)*24>=4 as Red
or use the following formulae if you want an elapsed time of 27 hours to be treated the same as 3 hours and formatted as yellow:
=HOUR(NOW()-D1)<2 as Green
=HOUR(NOW()-D1)<4 as Yellow
=HOUR(NOW()-D1)>=4 as Red