Php DateTime's are directly comparable using < > =. The only issue I can think of is in different tinezones, so I suggest you to try prinr_r($dateNOW), and also for the other two variables, and see the output (instead of formatting the results with ->format, which may be timezone dependant.
You can the set datetime objects to the same timezone with
$dateEnd->setTimezone(new DateTimezone("your timezone"))
Or compare timestamps retrieved with
$dateEnd->getTimestamp()